home *** CD-ROM | disk | FTP | other *** search
/ Chip 1996 September / CHIP Eylül 1996.iso / utils / povray / povsrc.sea / POVSRC / SOURCE / POVMalloc.c < prev    next >
MacBinary  |  1994-02-04  |  20.1 KB  |  [TEXT/MPS ]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Fri Feb 4 18:41:29 1994, modified Fri Feb 4 18:41:29 1994, creator 'MPS ', type ASCII, 19684 bytes "POVMalloc.c" , at 0x4d64 760 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[MPS ]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0b 50 4f 56 4d 61 6c | 6c 6f 63 2e 63 00 00 00 |..POVMal|loc.c...|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 50 53 | 20 01 00 00 00 00 00 00 |.TEXTMPS| .......|
|00000050| 00 00 00 00 00 4c e4 00 | 00 02 f8 a9 78 8d a9 a9 |.....L..|....x...|
|00000060| 78 8d a9 00 00 02 00 00 | 00 00 00 00 00 00 00 00 |x.......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 7e f8 00 00 |........|....~...|
|00000080| 2f 2a 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |/*======|========|
|00000090| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000d0| 0d 50 72 6f 6a 65 63 74 | 3a 09 50 4f 56 2d 52 61 |.Project|:.POV-Ra|
|000000e0| 79 0d 0d 56 65 72 73 69 | 6f 6e 3a 09 32 2e 32 0d |y..Versi|on:.2.2.|
|000000f0| 0d 46 69 6c 65 3a 09 09 | 50 4f 56 4d 61 6c 6c 6f |.File:..|POVMallo|
|00000100| 63 2e 63 0d 0d 44 65 73 | 63 72 69 70 74 69 6f 6e |c.c..Des|cription|
|00000110| 3a 0d 4c 69 62 72 61 72 | 79 20 72 6f 75 74 69 6e |:.Librar|y routin|
|00000120| 65 73 20 61 6e 64 20 64 | 65 66 69 6e 69 74 69 6f |es and d|efinitio|
|00000130| 6e 73 20 74 6f 20 72 65 | 2d 72 6f 75 74 65 20 74 |ns to re|-route t|
|00000140| 68 65 20 53 74 64 20 43 | 20 6c 69 62 72 61 72 79 |he Std C| library|
|00000150| 0d 63 61 6c 6c 73 20 74 | 6f 20 6d 61 6c 6c 6f 63 |.calls t|o malloc|
|00000160| 2f 66 72 65 65 2c 20 74 | 72 61 63 6b 20 74 68 65 |/free, t|rack the|
|00000170| 6d 2c 20 61 6e 64 20 68 | 61 6e 64 6c 65 20 67 61 |m, and h|andle ga|
|00000180| 72 62 61 67 65 2d 63 6f | 6c 6c 65 63 74 69 6f 6e |rbage-co|llection|
|00000190| 2e 0d 0d 54 68 65 72 65 | 20 61 72 65 20 73 6f 6d |...There| are som|
|000001a0| 65 20 63 6f 6d 70 69 6c | 65 2d 74 69 6d 65 20 66 |e compil|e-time f|
|000001b0| 6c 61 67 73 20 69 6e 20 | 68 65 72 65 20 6f 66 20 |lags in |here of |
|000001c0| 69 6d 70 6f 72 74 61 6e | 63 65 2e 20 20 54 68 65 |importan|ce. The|
|000001d0| 79 0d 61 72 65 20 6e 6f | 74 20 64 65 66 69 6e 65 |y.are no|t define|
|000001e0| 64 20 28 6f 66 66 29 2c | 20 62 75 74 20 69 66 20 |d (off),| but if |
|000001f0| 64 65 66 69 6e 65 64 2c | 20 77 69 6c 6c 20 63 68 |defined,| will ch|
|00000200| 61 6e 67 65 20 74 68 65 | 20 62 65 68 61 76 69 6f |ange the| behavio|
|00000210| 72 0d 6f 66 20 74 68 65 | 20 6d 65 6d 6f 72 79 20 |r.of the| memory |
|00000220| 61 6c 6c 6f 63 61 74 69 | 6f 6e 20 63 6f 64 65 3a |allocati|on code:|
|00000230| 0d 0d 55 53 45 5f 4e 41 | 54 49 56 45 5f 4d 41 4c |..USE_NA|TIVE_MAL|
|00000240| 4c 4f 43 20 2d 20 69 66 | 20 64 65 66 69 6e 65 64 |LOC - if| defined|
|00000250| 2c 20 77 69 6c 6c 20 75 | 73 65 20 74 68 65 20 4d |, will u|se the M|
|00000260| 61 63 27 73 20 4e 65 77 | 50 74 72 28 29 20 63 61 |ac's New|Ptr() ca|
|00000270| 6c 6c 73 0d 69 6e 73 74 | 65 61 64 20 6f 66 20 43 |lls.inst|ead of C|
|00000280| 27 73 20 6d 61 6c 6c 6f | 63 28 29 2e 20 20 54 68 |'s mallo|c(). Th|
|00000290| 69 73 20 74 75 72 6e 73 | 20 6f 75 74 20 74 6f 20 |is turns| out to |
|000002a0| 62 65 20 61 20 6c 69 74 | 74 6c 65 20 73 6c 6f 77 |be a lit|tle slow|
|000002b0| 65 72 2c 0d 62 75 74 20 | 6c 65 61 76 65 73 20 61 |er,.but |leaves a|
|000002c0| 20 63 6c 65 61 6e 65 72 | 20 68 65 61 70 2e 20 20 | cleaner| heap. |
|000002d0| 6d 61 6c 6c 6f 63 20 61 | 6c 6c 6f 63 61 74 65 73 |malloc a|llocates|
|000002e0| 20 63 68 75 6e 6b 73 20 | 74 68 61 74 20 61 72 65 | chunks |that are|
|000002f0| 0d 6e 6f 74 20 61 63 74 | 75 61 6c 6c 79 20 64 69 |.not act|ually di|
|00000300| 73 63 61 72 64 65 64 20 | 77 68 65 6e 20 66 72 65 |scarded |when fre|
|00000310| 65 20 69 73 20 63 61 6c | 6c 65 64 2e 0d 0d 55 53 |e is cal|led...US|
|00000320| 45 5f 4d 45 4d 48 41 4e | 44 4c 45 53 20 2d 20 54 |E_MEMHAN|DLES - T|
|00000330| 68 69 73 20 61 6c 6c 6f | 63 61 74 65 73 20 68 61 |his allo|cates ha|
|00000340| 6e 64 6c 65 73 20 69 6e | 73 74 65 61 64 20 6f 66 |ndles in|stead of|
|00000350| 20 70 6f 69 6e 74 65 72 | 73 2c 20 74 68 65 6e 0d | pointer|s, then.|
|00000360| 6c 6f 63 6b 73 20 61 6e | 64 20 64 65 72 65 66 73 |locks an|d derefs|
|00000370| 20 74 68 65 6d 2e 0d 0d | 55 53 45 5f 4d 45 4d 54 | them...|USE_MEMT|
|00000380| 41 47 53 20 2d 20 69 66 | 20 64 65 66 69 6e 65 64 |AGS - if| defined|
|00000390| 2c 20 77 69 6c 6c 20 61 | 64 64 20 61 20 34 20 62 |, will a|dd a 4 b|
|000003a0| 79 74 65 20 74 61 67 20 | 74 6f 20 65 61 63 68 20 |yte tag |to each |
|000003b0| 6d 65 6d 6f 72 79 0d 63 | 68 75 6e 6b 20 61 6c 6c |memory.c|hunk all|
|000003c0| 6f 63 61 74 65 64 2c 20 | 61 6e 64 20 69 6e 73 75 |ocated, |and insu|
|000003d0| 72 65 20 74 68 61 74 20 | 74 68 65 20 64 65 2d 61 |re that |the de-a|
|000003e0| 6c 6c 6f 63 61 74 69 6f | 6e 20 6f 66 20 6d 65 6d |llocatio|n of mem|
|000003f0| 6f 72 79 20 68 61 73 0d | 74 68 69 73 20 74 61 67 |ory has.|this tag|
|00000400| 2e 20 20 54 68 69 73 20 | 77 69 6c 6c 20 64 65 74 |. This |will det|
|00000410| 65 63 74 20 61 6e 79 20 | 66 72 65 65 20 63 61 6c |ect any |free cal|
|00000420| 6c 73 20 74 68 61 74 20 | 61 72 65 20 70 61 73 73 |ls that |are pass|
|00000430| 65 64 20 62 61 64 0d 70 | 6f 69 6e 74 65 72 73 2e |ed bad.p|ointers.|
|00000440| 0d 0d 4d 41 4c 4c 4f 43 | 5f 54 52 41 43 45 20 2d |..MALLOC|_TRACE -|
|00000450| 20 41 64 64 73 20 69 6e | 66 6f 20 61 62 6f 75 74 | Adds in|fo about|
|00000460| 20 74 68 65 20 73 6f 75 | 72 63 65 20 66 69 6c 65 | the sou|rce file|
|00000470| 2f 6c 69 6e 65 20 23 20 | 6f 66 20 61 6c 6c 6f 63 |/line # |of alloc|
|00000480| 61 74 69 6f 6e 0d 69 6e | 20 74 68 65 20 62 6c 6f |ation.in| the blo|
|00000490| 63 6b 20 61 6c 6c 6f 63 | 61 74 65 64 2c 20 73 6f |ck alloc|ated, so|
|000004a0| 20 69 74 20 63 61 6e 20 | 62 65 20 64 69 73 70 6c | it can |be displ|
|000004b0| 61 79 65 64 20 6f 6e 20 | 63 6c 65 61 6e 75 70 0d |ayed on |cleanup.|
|000004c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000500| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 41 |--------|------.A|
|00000510| 75 74 68 6f 72 3a 0d 09 | 4a 69 6d 20 4e 69 74 63 |uthor:..|Jim Nitc|
|00000520| 68 61 6c 73 20 61 6e 64 | 20 45 64 75 61 72 64 20 |hals and| Eduard |
|00000530| 5b 65 73 70 5d 20 53 63 | 68 77 61 6e 0d 2d 2d 2d |[esp] Sc|hwan.---|
|00000540| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000550| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000560| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000570| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000580| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 09 66 72 6f |--------|---..fro|
|00000590| 6d 20 50 65 72 73 69 73 | 74 65 6e 63 65 20 6f 66 |m Persis|tence of|
|000005a0| 20 56 69 73 69 6f 6e 20 | 52 61 79 74 72 61 63 65 | Vision |Raytrace|
|000005b0| 72 0d 09 43 6f 70 79 72 | 69 67 68 74 20 31 39 39 |r..Copyr|ight 199|
|000005c0| 33 20 50 65 72 73 69 73 | 74 65 6e 63 65 20 6f 66 |3 Persis|tence of|
|000005d0| 20 56 69 73 69 6f 6e 20 | 54 65 61 6d 0d 2d 2d 2d | Vision |Team.---|
|000005e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000005f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000600| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000610| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000620| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 09 4e 4f 54 |--------|---..NOT|
|00000630| 49 43 45 3a 20 54 68 69 | 73 20 73 6f 75 72 63 65 |ICE: Thi|s source|
|00000640| 20 63 6f 64 65 20 66 69 | 6c 65 20 69 73 20 70 72 | code fi|le is pr|
|00000650| 6f 76 69 64 65 64 20 73 | 6f 20 74 68 61 74 20 75 |ovided s|o that u|
|00000660| 73 65 72 73 20 6d 61 79 | 20 65 78 70 65 72 69 6d |sers may| experim|
|00000670| 65 6e 74 0d 09 77 69 74 | 68 20 65 6e 68 61 6e 63 |ent..wit|h enhanc|
|00000680| 65 6d 65 6e 74 73 20 74 | 6f 20 50 4f 56 2d 52 61 |ements t|o POV-Ra|
|00000690| 79 20 61 6e 64 20 74 6f | 20 70 6f 72 74 20 74 68 |y and to| port th|
|000006a0| 65 20 73 6f 66 74 77 61 | 72 65 20 74 6f 20 70 6c |e softwa|re to pl|
|000006b0| 61 74 66 6f 72 6d 73 20 | 6f 74 68 65 72 20 0d 09 |atforms |other ..|
|000006c0| 74 68 61 6e 20 74 68 6f | 73 65 20 73 75 70 70 6f |than tho|se suppo|
|000006d0| 72 74 65 64 20 62 79 20 | 74 68 65 20 50 4f 56 2d |rted by |the POV-|
|000006e0| 52 61 79 20 54 65 61 6d | 2e 20 20 54 68 65 72 65 |Ray Team|. There|
|000006f0| 20 61 72 65 20 73 74 72 | 69 63 74 20 72 75 6c 65 | are str|ict rule|
|00000700| 73 20 75 6e 64 65 72 0d | 09 77 68 69 63 68 20 79 |s under.|.which y|
|00000710| 6f 75 20 61 72 65 20 70 | 65 72 6d 69 74 74 65 64 |ou are p|ermitted|
|00000720| 20 74 6f 20 75 73 65 20 | 74 68 69 73 20 66 69 6c | to use |this fil|
|00000730| 65 2e 20 20 54 68 65 20 | 72 75 6c 65 73 20 61 72 |e. The |rules ar|
|00000740| 65 20 69 6e 20 74 68 65 | 20 66 69 6c 65 0d 09 6e |e in the| file..n|
|00000750| 61 6d 65 64 20 50 4f 56 | 4c 45 47 41 4c 2e 44 4f |amed POV|LEGAL.DO|
|00000760| 43 20 77 68 69 63 68 20 | 73 68 6f 75 6c 64 20 62 |C which |should b|
|00000770| 65 20 64 69 73 74 72 69 | 62 75 74 65 64 20 77 69 |e distri|buted wi|
|00000780| 74 68 20 74 68 69 73 20 | 66 69 6c 65 2e 20 49 66 |th this |file. If|
|00000790| 20 0d 09 50 4f 56 4c 45 | 47 41 4c 2e 44 4f 43 20 | ..POVLE|GAL.DOC |
|000007a0| 69 73 20 6e 6f 74 20 61 | 76 61 69 6c 61 62 6c 65 |is not a|vailable|
|000007b0| 20 6f 72 20 66 6f 72 20 | 6d 6f 72 65 20 69 6e 66 | or for |more inf|
|000007c0| 6f 20 70 6c 65 61 73 65 | 20 63 6f 6e 74 61 63 74 |o please| contact|
|000007d0| 20 74 68 65 20 50 4f 56 | 2d 52 61 79 0d 09 54 65 | the POV|-Ray..Te|
|000007e0| 61 6d 20 43 6f 6f 72 64 | 69 6e 61 74 6f 72 20 62 |am Coord|inator b|
|000007f0| 79 20 6c 65 61 76 69 6e | 67 20 61 20 6d 65 73 73 |y leavin|g a mess|
|00000800| 61 67 65 20 69 6e 20 43 | 6f 6d 70 75 53 65 72 76 |age in C|ompuServ|
|00000810| 65 27 73 20 47 72 61 70 | 68 69 63 73 20 44 65 76 |e's Grap|hics Dev|
|00000820| 65 6c 6f 70 65 72 27 73 | 0d 09 46 6f 72 75 6d 2e |eloper's|..Forum.|
|00000830| 20 20 54 68 65 20 6c 61 | 74 65 73 74 20 76 65 72 | The la|test ver|
|00000840| 73 69 6f 6e 20 6f 66 20 | 50 4f 56 2d 52 61 79 20 |sion of |POV-Ray |
|00000850| 6d 61 79 20 62 65 20 66 | 6f 75 6e 64 20 74 68 65 |may be f|ound the|
|00000860| 72 65 20 61 73 20 77 65 | 6c 6c 2e 0d 0d 09 54 68 |re as we|ll....Th|
|00000870| 69 73 20 70 72 6f 67 72 | 61 6d 20 69 73 20 62 61 |is progr|am is ba|
|00000880| 73 65 64 20 6f 6e 20 74 | 68 65 20 70 6f 70 75 6c |sed on t|he popul|
|00000890| 61 72 20 44 4b 42 20 72 | 61 79 74 72 61 63 65 72 |ar DKB r|aytracer|
|000008a0| 20 76 65 72 73 69 6f 6e | 20 32 2e 31 32 2e 0d 09 | version| 2.12...|
|000008b0| 44 4b 42 54 72 61 63 65 | 20 77 61 73 20 6f 72 69 |DKBTrace| was ori|
|000008c0| 67 69 6e 61 6c 6c 79 20 | 77 72 69 74 74 65 6e 20 |ginally |written |
|000008d0| 62 79 20 44 61 76 69 64 | 20 4b 2e 20 42 75 63 6b |by David| K. Buck|
|000008e0| 2e 0d 09 44 4b 42 54 72 | 61 63 65 20 56 65 72 20 |...DKBTr|ace Ver |
|000008f0| 32 2e 30 2d 32 2e 31 32 | 20 77 65 72 65 20 77 72 |2.0-2.12| were wr|
|00000900| 69 74 74 65 6e 20 62 79 | 20 44 61 76 69 64 20 4b |itten by| David K|
|00000910| 2e 20 42 75 63 6b 20 26 | 20 41 61 72 6f 6e 20 41 |. Buck &| Aaron A|
|00000920| 2e 20 43 6f 6c 6c 69 6e | 73 2e 0d 2d 2d 2d 2d 2d |. Collin|s..-----|
|00000930| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000940| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000950| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000960| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000970| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 4d 6f 72 65 20 49 |--------|-.More I|
|00000980| 6e 66 6f 3a 0d 09 54 68 | 69 73 20 4d 61 63 69 6e |nfo:..Th|is Macin|
|00000990| 74 6f 73 68 20 76 65 72 | 73 69 6f 6e 20 6f 66 20 |tosh ver|sion of |
|000009a0| 50 4f 56 2d 52 61 79 20 | 77 61 73 20 63 72 65 61 |POV-Ray |was crea|
|000009b0| 74 65 64 20 61 6e 64 20 | 63 6f 6d 70 69 6c 65 64 |ted and |compiled|
|000009c0| 20 62 79 20 4a 69 6d 20 | 4e 69 74 63 68 61 6c 73 | by Jim |Nitchals|
|000009d0| 0d 09 28 54 68 69 6e 6b | 20 35 2e 30 29 20 61 6e |..(Think| 5.0) an|
|000009e0| 64 20 45 64 75 61 72 64 | 20 53 63 68 77 61 6e 20 |d Eduard| Schwan |
|000009f0| 28 4d 50 57 20 33 2e 32 | 29 2c 20 62 61 73 65 64 |(MPW 3.2|), based|
|00000a00| 20 28 6c 6f 6f 73 65 6c | 79 29 20 6f 6e 20 74 68 | (loosel|y) on th|
|00000a10| 65 20 6f 72 69 67 69 6e | 61 6c 0d 09 70 6f 72 74 |e origin|al..port|
|00000a20| 20 62 79 20 54 68 6f 6d | 61 73 20 4f 6b 6b 65 6e | by Thom|as Okken|
|00000a30| 20 61 6e 64 20 44 61 76 | 69 64 20 4c 69 63 68 74 | and Dav|id Licht|
|00000a40| 6d 61 6e 2c 20 77 69 74 | 68 20 73 6f 6d 65 20 68 |man, wit|h some h|
|00000a50| 65 6c 70 20 66 72 6f 6d | 20 47 6c 65 6e 6e 20 53 |elp from| Glenn S|
|00000a60| 75 67 64 65 6e 2e 0d 0d | 09 46 6f 72 20 62 75 67 |ugden...|.For bug|
|00000a70| 20 72 65 70 6f 72 74 73 | 20 72 65 67 61 72 64 69 | reports| regardi|
|00000a80| 6e 67 20 74 68 65 20 4d | 61 63 69 6e 74 6f 73 68 |ng the M|acintosh|
|00000a90| 20 76 65 72 73 69 6f 6e | 2c 20 79 6f 75 20 73 68 | version|, you sh|
|00000aa0| 6f 75 6c 64 20 63 6f 6e | 74 61 63 74 3a 0d 09 45 |ould con|tact:..E|
|00000ab0| 64 75 61 72 64 20 5b 65 | 73 70 5d 20 53 63 68 77 |duard [e|sp] Schw|
|00000ac0| 61 6e 0d 09 09 43 6f 6d | 70 75 53 65 72 76 65 3a |an...Com|puServe:|
|00000ad0| 20 37 31 35 31 33 2c 32 | 31 36 31 0d 09 09 49 6e | 71513,2|161...In|
|00000ae0| 74 65 72 6e 65 74 3a 20 | 6a 6c 2e 74 65 63 68 40 |ternet: |jl.tech@|
|00000af0| 61 70 70 6c 65 6c 69 6e | 6b 2e 61 70 70 6c 65 2e |applelin|k.apple.|
|00000b00| 63 6f 6d 0d 09 09 41 70 | 70 6c 65 4c 69 6e 6b 3a |com...Ap|pleLink:|
|00000b10| 20 6a 6c 2e 74 65 63 68 | 0d 09 4a 69 6d 20 4e 69 | jl.tech|..Jim Ni|
|00000b20| 74 63 68 61 6c 73 0d 09 | 09 43 6f 6d 70 75 73 65 |tchals..|.Compuse|
|00000b30| 72 76 65 3a 20 37 33 31 | 31 37 2c 33 30 32 30 0d |rve: 731|17,3020.|
|00000b40| 09 09 41 6d 65 72 69 63 | 61 20 4f 6e 6c 69 6e 65 |..Americ|a Online|
|00000b50| 3a 20 4a 49 4d 4e 38 0d | 09 09 49 6e 74 65 72 6e |: JIMN8.|..Intern|
|00000b60| 65 74 3a 20 6a 69 6d 6e | 38 40 61 6f 6c 2e 63 6f |et: jimn|8@aol.co|
|00000b70| 6d 20 2d 6f 72 2d 20 6a | 69 6d 6e 38 40 61 70 70 |m -or- j|imn8@app|
|00000b80| 6c 65 6c 69 6e 6b 2e 61 | 70 70 6c 65 2e 63 6f 6d |lelink.a|pple.com|
|00000b90| 0d 09 09 41 70 70 6c 65 | 4c 69 6e 6b 3a 20 4a 49 |...Apple|Link: JI|
|00000ba0| 4d 4e 38 0d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |MN8.----|--------|
|00000bb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000bc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000bd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000be0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000bf0| 2d 2d 0d 43 68 61 6e 67 | 65 20 48 69 73 74 6f 72 |--.Chang|e Histor|
|00000c00| 79 3a 0d 09 39 32 31 30 | 32 33 09 5b 65 73 70 5d |y:..9210|23.[esp]|
|00000c10| 09 43 72 65 61 74 65 64 | 2e 0d 09 39 32 31 32 30 |.Created|...92120|
|00000c20| 32 09 5b 65 73 70 5d 09 | 41 64 64 65 64 20 50 4f |2.[esp].|Added PO|
|00000c30| 56 5f 6e 65 65 64 5f 74 | 6f 5f 72 65 63 6c 61 69 |V_need_t|o_reclai|
|00000c40| 6d 28 29 20 72 6f 75 74 | 69 6e 65 0d 09 39 32 31 |m() rout|ine..921|
|00000c50| 32 32 31 09 5b 65 73 70 | 5d 09 41 64 64 65 64 20 |221.[esp|].Added |
|00000c60| 42 65 56 65 72 62 6f 73 | 65 20 70 61 72 6d 20 74 |BeVerbos|e parm t|
|00000c70| 6f 20 50 4f 56 5f 52 65 | 63 6c 61 69 6d 20 72 6f |o POV_Re|claim ro|
|00000c80| 75 74 69 6e 65 0d 09 39 | 33 30 34 32 33 09 5b 65 |utine..9|30423.[e|
|00000c90| 73 70 5d 09 41 64 64 65 | 64 20 6c 6f 77 2d 6d 65 |sp].Adde|d low-me|
|00000ca0| 6d 6f 72 79 20 63 68 65 | 63 6b 20 69 6e 20 6d 61 |mory che|ck in ma|
|00000cb0| 6c 6c 6f 63 2f 63 61 6c | 6c 6f 63 20 28 4d 49 4e |lloc/cal|loc (MIN|
|00000cc0| 5f 53 41 46 45 5f 42 59 | 54 45 53 29 2e 0d 09 39 |_SAFE_BY|TES)...9|
|00000cd0| 33 30 36 31 38 09 5b 65 | 73 70 5d 09 41 64 64 65 |30618.[e|sp].Adde|
|00000ce0| 64 20 55 53 45 5f 4e 41 | 54 49 56 45 5f 4d 41 4c |d USE_NA|TIVE_MAL|
|00000cf0| 4c 4f 43 20 63 6f 64 65 | 20 28 61 67 61 69 6e 29 |LOC code| (again)|
|00000d00| 20 61 6e 64 20 72 65 6e | 61 6d 65 64 20 55 53 45 | and ren|amed USE|
|00000d10| 5f 4d 45 4d 54 41 47 53 | 0d 09 39 33 31 30 30 31 |_MEMTAGS|..931001|
|00000d20| 09 5b 65 73 70 5d 09 76 | 65 72 73 69 6f 6e 20 32 |.[esp].v|ersion 2|
|00000d30| 2e 30 20 66 69 6e 69 73 | 68 65 64 20 28 52 65 6c |.0 finis|hed (Rel|
|00000d40| 65 61 73 65 64 20 6f 6e | 20 31 30 2f 34 2f 39 33 |eased on| 10/4/93|
|00000d50| 29 0d 09 39 33 31 30 32 | 30 09 5b 65 73 70 5d 09 |)..93102|0.[esp].|
|00000d60| 41 64 64 65 64 20 72 65 | 61 6c 6c 6f 63 20 66 75 |Added re|alloc fu|
|00000d70| 6e 63 74 69 6f 6e 0d 09 | 39 33 31 30 32 30 09 5b |nction..|931020.[|
|00000d80| 65 73 70 5d 09 42 65 67 | 61 6e 20 61 64 64 69 6e |esp].Beg|an addin|
|00000d90| 67 20 65 78 70 65 72 69 | 6d 65 6e 74 61 6c 20 4e |g experi|mental N|
|00000da0| 65 77 48 61 6e 64 6c 65 | 2f 4d 6f 76 65 48 48 69 |ewHandle|/MoveHHi|
|00000db0| 20 28 55 53 45 5f 4d 45 | 4d 48 41 4e 44 4c 45 53 | (USE_ME|MHANDLES|
|00000dc0| 29 20 63 6f 64 65 0d 09 | 39 33 31 31 31 36 09 5b |) code..|931116.[|
|00000dd0| 65 73 70 5d 09 41 64 64 | 65 64 20 6f 75 74 2d 6f |esp].Add|ed out-o|
|00000de0| 66 2d 6d 65 6d 20 68 61 | 6e 64 6c 69 6e 67 20 63 |f-mem ha|ndling c|
|00000df0| 6f 64 65 20 28 67 52 65 | 73 65 72 76 65 42 75 66 |ode (gRe|serveBuf|
|00000e00| 66 65 72 2c 20 48 61 6e | 64 6c 65 4f 75 74 4f 66 |fer, Han|dleOutOf|
|00000e10| 4d 65 6d 29 0d 09 39 33 | 31 31 31 39 09 5b 64 6a |Mem)..93|1119.[dj|
|00000e20| 68 5d 09 41 64 64 65 64 | 20 3c 54 6f 6f 6c 55 74 |h].Added| <ToolUt|
|00000e30| 69 6c 73 2e 68 3e 20 66 | 6f 72 20 50 50 43 20 63 |ils.h> f|or PPC c|
|00000e40| 6f 6d 70 61 74 69 62 69 | 6c 69 74 79 0d 3d 3d 3d |ompatibi|lity.===|
|00000e50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000e60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000e70| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000e80| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000e90| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 2a 2f 0d 0d 23 |========|===*/..#|
|00000ea0| 64 65 66 69 6e 65 20 50 | 4f 56 4d 41 4c 4c 4f 43 |define P|OVMALLOC|
|00000eb0| 5f 43 0d 0d 23 69 6e 63 | 6c 75 64 65 20 3c 74 79 |_C..#inc|lude <ty|
|00000ec0| 70 65 73 2e 68 3e 0d 23 | 69 6e 63 6c 75 64 65 20 |pes.h>.#|include |
|00000ed0| 3c 73 74 64 6c 69 62 2e | 68 3e 09 2f 2f 20 6d 61 |<stdlib.|h>.// ma|
|00000ee0| 6c 6c 6f 63 0d 23 69 6e | 63 6c 75 64 65 20 3c 6d |lloc.#in|clude <m|
|00000ef0| 65 6d 6f 72 79 2e 68 3e | 09 2f 2f 20 4e 65 77 50 |emory.h>|.// NewP|
|00000f00| 74 72 0d 23 69 6e 63 6c | 75 64 65 20 3c 65 72 72 |tr.#incl|ude <err|
|00000f10| 6f 72 73 2e 68 3e 09 2f | 2f 20 6d 65 6d 46 75 6c |ors.h>./|/ memFul|
|00000f20| 6c 45 72 72 0d 23 69 6e | 63 6c 75 64 65 20 3c 54 |lErr.#in|clude <T|
|00000f30| 6f 6f 6c 55 74 69 6c 73 | 2e 68 3e 20 2f 2f 20 77 |oolUtils|.h> // w|
|00000f40| 61 74 63 68 43 75 72 73 | 6f 72 0d 0d 23 69 6e 63 |atchCurs|or..#inc|
|00000f50| 6c 75 64 65 20 22 50 4f | 56 4d 61 6c 6c 6f 63 2e |lude "PO|VMalloc.|
|00000f60| 68 22 0d 23 69 6e 63 6c | 75 64 65 20 22 50 4f 56 |h".#incl|ude "POV|
|00000f70| 4c 69 62 2e 68 22 0d 0d | 0d 2f 2f 20 6f 75 74 2d |Lib.h"..|.// out-|
|00000f80| 6f 66 2d 6d 65 6d 20 72 | 65 73 65 72 76 65 20 73 |of-mem r|eserve s|
|00000f90| 70 61 63 65 0d 23 64 65 | 66 69 6e 65 20 52 45 53 |pace.#de|fine RES|
|00000fa0| 45 52 56 45 5f 4d 45 4d | 5f 53 49 5a 45 09 36 30 |ERVE_MEM|_SIZE.60|
|00000fb0| 30 30 30 4c 0d 0d 2f 2f | 20 54 68 69 73 20 64 65 |000L..//| This de|
|00000fc0| 66 69 6e 65 73 20 74 68 | 65 20 6c 6f 77 65 73 74 |fines th|e lowest|
|00000fd0| 20 66 72 65 65 20 6d 65 | 6d 6f 72 79 20 69 73 20 | free me|mory is |
|00000fe0| 61 6c 6c 6f 77 65 64 20 | 74 6f 20 67 65 74 20 62 |allowed |to get b|
|00000ff0| 65 66 6f 72 65 0d 2f 2f | 20 6d 61 6c 6c 6f 63 20 |efore.//| malloc |
|00001000| 26 20 63 61 6c 6c 6f 63 | 20 66 61 69 6c 2e 20 20 |& calloc| fail. |
|00001010| 54 68 69 73 20 67 75 61 | 72 61 6e 74 65 65 73 20 |This gua|rantees |
|00001020| 73 6f 6d 65 20 66 72 65 | 65 20 68 65 61 70 20 73 |some fre|e heap s|
|00001030| 70 61 63 65 20 66 6f 72 | 0d 2f 2f 20 65 72 72 6f |pace for|.// erro|
|00001040| 72 20 72 65 63 6f 76 65 | 72 79 2e 0d 23 64 65 66 |r recove|ry..#def|
|00001050| 69 6e 65 09 4d 49 4e 5f | 53 41 46 45 5f 42 59 54 |ine.MIN_|SAFE_BYT|
|00001060| 45 53 09 09 36 30 30 30 | 30 4c 0d 0d 23 69 66 20 |ES..6000|0L..#if |
|00001070| 55 53 45 5f 4d 45 4d 54 | 41 47 53 0d 2f 2f 20 6c |USE_MEMT|AGS.// l|
|00001080| 6f 6e 67 20 69 6e 74 20 | 74 61 67 20 75 73 65 64 |ong int |tag used|
|00001090| 20 74 6f 20 64 65 74 65 | 63 74 20 62 61 64 20 70 | to dete|ct bad p|
|000010a0| 74 72 73 20 70 61 73 73 | 65 64 20 74 6f 20 66 72 |trs pass|ed to fr|
|000010b0| 65 65 28 29 0d 23 64 65 | 66 69 6e 65 20 4d 41 4c |ee().#de|fine MAL|
|000010c0| 4c 4f 43 5f 54 41 47 09 | 09 27 4d 54 41 47 27 0d |LOC_TAG.|.'MTAG'.|
|000010d0| 23 65 6e 64 69 66 20 2f | 2f 20 55 53 45 5f 4d 45 |#endif /|/ USE_ME|
|000010e0| 4d 54 41 47 53 0d 0d 0d | 2f 2f 20 4d 65 6d 6f 72 |MTAGS...|// Memor|
|000010f0| 79 20 61 6c 6c 6f 63 61 | 74 69 6f 6e 20 74 72 61 |y alloca|tion tra|
|00001100| 63 6b 69 6e 67 20 28 47 | 61 72 62 61 67 65 20 43 |cking (G|arbage C|
|00001110| 6f 6c 6c 65 63 74 69 6f | 6e 29 0d 73 74 61 74 69 |ollectio|n).stati|
|00001120| 63 20 48 61 6e 64 6c 65 | 09 09 67 52 65 73 65 72 |c Handle|..gReser|
|00001130| 76 65 42 75 66 66 65 72 | 20 3d 20 4e 55 4c 4c 3b |veBuffer| = NULL;|
|00001140| 0d 73 74 61 74 69 63 20 | 42 6f 6f 6c 65 61 6e 09 |.static |Boolean.|
|00001150| 09 67 44 6f 4d 65 6d 54 | 72 61 63 6b 69 6e 67 3b |.gDoMemT|racking;|
|00001160| 0d 73 74 61 74 69 63 20 | 42 6f 6f 6c 65 61 6e 09 |.static |Boolean.|
|00001170| 09 67 52 65 63 6c 61 69 | 6d 69 6e 67 3b 0d 73 74 |.gReclai|ming;.st|
|00001180| 61 74 69 63 20 6c 6f 6e | 67 09 09 09 67 4d 61 6c |atic lon|g...gMal|
|00001190| 6c 6f 63 4c 69 73 74 43 | 6f 75 6e 74 2c 0d 09 09 |locListC|ount,...|
|000011a0| 09 09 09 67 46 72 65 65 | 4c 69 73 74 43 6f 75 6e |...gFree|ListCoun|
|000011b0| 74 2c 0d 09 09 09 09 09 | 67 4d 61 6c 6c 6f 63 4c |t,......|gMallocL|
|000011c0| 69 73 74 53 69 7a 65 3b | 0d 73 74 61 74 69 63 20 |istSize;|.static |
|000011d0| 50 74 72 09 09 09 2a 67 | 4d 61 6c 6c 6f 63 4c 69 |Ptr...*g|MallocLi|
|000011e0| 73 74 3b 09 09 2f 2f 20 | 61 72 72 61 79 20 6f 66 |st;..// |array of|
|000011f0| 20 70 6f 69 6e 74 65 72 | 73 0d 73 74 61 74 69 63 | pointer|s.static|
|00001200| 20 50 74 72 09 09 09 2a | 67 46 72 65 65 4c 69 73 | Ptr...*|gFreeLis|
|00001210| 74 3b 09 09 09 2f 2f 20 | 61 72 72 61 79 20 6f 66 |t;...// |array of|
|00001220| 20 70 6f 69 6e 74 65 72 | 73 0d 73 74 61 74 69 63 | pointer|s.static|
|00001230| 20 6c 6f 6e 67 09 09 09 | 67 45 73 63 61 70 65 64 | long...|gEscaped|
|00001240| 4d 61 6c 6c 6f 63 73 43 | 6f 75 6e 74 20 3d 20 30 |MallocsC|ount = 0|
|00001250| 4c 3b 09 2f 2f 20 74 72 | 61 63 6b 20 23 20 6f 66 |L;.// tr|ack # of|
|00001260| 20 75 6e 74 72 61 63 6b | 65 64 20 6d 61 6c 6c 6f | untrack|ed mallo|
|00001270| 63 73 20 28 63 61 6e 27 | 74 20 67 61 72 62 61 67 |cs (can'|t garbag|
|00001280| 65 20 63 6f 6c 6c 65 63 | 74 29 0d 0d 0d 76 6f 69 |e collec|t)...voi|
|00001290| 64 09 63 61 74 63 68 5f | 65 78 69 74 28 69 6e 74 |d.catch_|exit(int|
|000012a0| 20 6e 29 3b 0d 0d 0d 2f | 2f 20 3d 3d 3d 3d 3d 3d | n);.../|/ ======|
|000012b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000012c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000012d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000012e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 0d |========|=======.|
|000012f0| 76 6f 69 64 20 41 6c 6c | 6f 63 61 74 65 53 61 66 |void All|ocateSaf|
|00001300| 65 74 79 42 75 66 66 65 | 72 28 76 6f 69 64 29 0d |etyBuffe|r(void).|
|00001310| 7b 0d 09 69 66 20 28 67 | 52 65 73 65 72 76 65 42 |{..if (g|ReserveB|
|00001320| 75 66 66 65 72 20 3d 3d | 20 4e 55 4c 4c 29 0d 09 |uffer ==| NULL)..|
|00001330| 7b 0d 09 09 67 52 65 73 | 65 72 76 65 42 75 66 66 |{...gRes|erveBuff|
|00001340| 65 72 20 3d 20 4e 65 77 | 48 61 6e 64 6c 65 28 52 |er = New|Handle(R|
|00001350| 45 53 45 52 56 45 5f 4d | 45 4d 5f 53 49 5a 45 29 |ESERVE_M|EM_SIZE)|
|00001360| 3b 0d 09 09 69 66 20 28 | 67 52 65 73 65 72 76 65 |;...if (|gReserve|
|00001370| 42 75 66 66 65 72 29 0d | 09 09 09 4d 6f 76 65 48 |Buffer).|...MoveH|
|00001380| 48 69 28 67 52 65 73 65 | 72 76 65 42 75 66 66 65 |Hi(gRese|rveBuffe|
|00001390| 72 29 3b 0d 09 7d 0d 7d | 20 2f 2f 20 41 6c 6c 6f |r);..}.}| // Allo|
|000013a0| 63 61 74 65 53 61 66 65 | 74 79 42 75 66 66 65 72 |cateSafe|tyBuffer|
|000013b0| 0d 0d 0d 2f 2f 20 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |...// ==|========|
|000013c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000013d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000013e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000013f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 0d 76 6f 69 64 |========|===.void|
|00001400| 20 50 75 72 67 65 53 61 | 66 65 74 79 42 75 66 66 | PurgeSa|fetyBuff|
|00001410| 65 72 28 76 6f 69 64 29 | 0d 7b 0d 09 69 66 20 28 |er(void)|.{..if (|
|00001420| 67 52 65 73 65 72 76 65 | 42 75 66 66 65 72 29 0d |gReserve|Buffer).|
|00001430| 09 7b 0d 09 09 44 69 73 | 70 6f 73 65 48 61 6e 64 |.{...Dis|poseHand|
|00001440| 6c 65 28 67 52 65 73 65 | 72 76 65 42 75 66 66 65 |le(gRese|rveBuffe|
|00001450| 72 29 3b 0d 09 09 67 52 | 65 73 65 72 76 65 42 75 |r);...gR|eserveBu|
|00001460| 66 66 65 72 20 3d 20 4e | 55 4c 4c 3b 0d 09 7d 0d |ffer = N|ULL;..}.|
|00001470| 7d 20 2f 2f 20 50 75 72 | 67 65 53 61 66 65 74 79 |} // Pur|geSafety|
|00001480| 42 75 66 66 65 72 0d 0d | 0d 2f 2f 20 3d 3d 3d 3d |Buffer..|.// ====|
|00001490| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000014a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000014b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000014c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000014d0| 3d 0d 4f 53 45 72 72 20 | 50 4f 56 5f 69 6e 69 74 |=.OSErr |POV_init|
|000014e0| 5f 6d 65 6d 74 72 61 63 | 6b 69 6e 67 28 73 69 7a |_memtrac|king(siz|
|000014f0| 65 5f 74 20 6d 61 78 5f | 74 72 61 63 6b 61 62 6c |e_t max_|trackabl|
|00001500| 65 29 0d 7b 0d 09 67 52 | 65 63 6c 61 69 6d 69 6e |e).{..gR|eclaimin|
|00001510| 67 20 3d 20 66 61 6c 73 | 65 3b 20 2f 2f 20 6e 6f |g = fals|e; // no|
|00001520| 74 20 72 65 63 6c 61 69 | 6d 69 6e 67 20 6a 75 73 |t reclai|ming jus|
|00001530| 74 20 6e 6f 77 0d 0d 09 | 2f 2f 20 61 6c 6c 6f 63 |t now...|// alloc|
|00001540| 61 74 65 20 6d 61 6c 6c | 6f 63 28 29 20 67 61 72 |ate mall|oc() gar|
|00001550| 62 61 67 65 20 63 6f 6c | 6c 65 63 74 69 6f 6e 20 |bage col|lection |
|00001560| 62 75 66 66 65 72 73 0d | 09 67 4d 61 6c 6c 6f 63 |buffers.|.gMalloc|
|00001570| 4c 69 73 74 53 69 7a 65 | 20 3d 20 6d 61 78 5f 74 |ListSize| = max_t|
|00001580| 72 61 63 6b 61 62 6c 65 | 3b 0d 09 69 66 20 28 67 |rackable|;..if (g|
|00001590| 4d 61 6c 6c 6f 63 4c 69 | 73 74 53 69 7a 65 20 3c |MallocLi|stSize <|
|000015a0| 20 35 30 30 29 0d 09 09 | 67 4d 61 6c 6c 6f 63 4c | 500)...|gMallocL|
|000015b0| 69 73 74 53 69 7a 65 20 | 3d 20 35 30 30 3b 0d 09 |istSize |= 500;..|
|000015c0| 67 4d 61 6c 6c 6f 63 4c | 69 73 74 20 20 3d 20 28 |gMallocL|ist = (|
|000015d0| 50 74 72 2a 29 20 4e 65 | 77 50 74 72 28 28 67 4d |Ptr*) Ne|wPtr((gM|
|000015e0| 61 6c 6c 6f 63 4c 69 73 | 74 53 69 7a 65 2b 32 4c |allocLis|tSize+2L|
|000015f0| 29 2a 73 69 7a 65 6f 66 | 28 50 74 72 29 29 3b 0d |)*sizeof|(Ptr));.|
|00001600| 09 67 46 72 65 65 4c 69 | 73 74 20 3d 20 28 50 74 |.gFreeLi|st = (Pt|
|00001610| 72 2a 29 20 4e 65 77 50 | 74 72 28 28 67 4d 61 6c |r*) NewP|tr((gMal|
|00001620| 6c 6f 63 4c 69 73 74 53 | 69 7a 65 2b 32 4c 29 2a |locListS|ize+2L)*|
|00001630| 73 69 7a 65 6f 66 28 50 | 74 72 29 29 3b 0d 0d 09 |sizeof(P|tr));...|
|00001640| 69 66 20 28 28 67 4d 61 | 6c 6c 6f 63 4c 69 73 74 |if ((gMa|llocList|
|00001650| 20 3d 3d 20 4e 55 4c 4c | 29 20 7c 7c 20 28 67 46 | == NULL|) || (gF|
|00001660| 72 65 65 4c 69 73 74 20 | 3d 3d 20 4e 55 4c 4c 29 |reeList |== NULL)|
|00001670| 29 0d 09 7b 0d 09 09 2f | 2f 20 66 61 74 61 6c 20 |)..{.../|/ fatal |
|00001680| 65 72 72 6f 72 0d 2f 2f | 09 09 64 69 73 70 6c 61 |error.//|..displa|
|00001690| 79 44 69 61 6c 6f 67 28 | 6b 64 6c 6f 67 5f 47 65 |yDialog(|kdlog_Ge|
|000016a0| 6e 65 72 69 63 46 61 74 | 61 6c 45 72 72 2c 20 22 |nericFat|alErr, "|
|000016b0| 43 61 6e 6e 6f 74 20 61 | 6c 6c 6f 63 61 74 65 20 |Cannot a|llocate |
|000016c0| 6d 65 6d 6f 72 79 20 66 | 6f 72 20 67 61 72 62 61 |memory f|or garba|
|000016d0| 67 65 20 63 6f 6c 6c 65 | 63 74 69 6f 6e 22 2c 0d |ge colle|ction",.|
|000016e0| 2f 2f 09 09 09 09 09 67 | 4d 61 6c 6c 6f 63 4c 69 |//.....g|MallocLi|
|000016f0| 73 74 53 69 7a 65 2c 20 | 65 77 63 44 6f 43 65 6e |stSize, |ewcDoCen|
|00001700| 74 65 72 69 6e 67 2c 20 | 65 4d 61 69 6e 44 65 76 |tering, |eMainDev|
|00001710| 69 63 65 29 3b 0d 2f 2f | 09 09 65 78 69 74 5f 68 |ice);.//|..exit_h|
|00001720| 61 6e 64 6c 65 72 28 29 | 3b 0d 09 09 72 65 74 75 |andler()|;...retu|
|00001730| 72 6e 20 6d 65 6d 46 75 | 6c 6c 45 72 72 3b 0d 09 |rn memFu|llErr;..|
|00001740| 7d 0d 09 65 6c 73 65 0d | 09 7b 0d 09 09 2f 2f 20 |}..else.|.{...// |
|00001750| 75 6e 6d 61 72 6b 20 66 | 69 72 73 74 20 69 74 65 |unmark f|irst ite|
|00001760| 6d 20 6f 6e 20 6c 69 73 | 74 0d 09 09 2a 67 4d 61 |m on lis|t...*gMa|
|00001770| 6c 6c 6f 63 4c 69 73 74 | 20 3d 20 4e 55 4c 4c 3b |llocList| = NULL;|
|00001780| 0d 09 09 67 4d 61 6c 6c | 6f 63 4c 69 73 74 43 6f |...gMall|ocListCo|
|00001790| 75 6e 74 20 3d 20 30 3b | 0d 09 09 2a 67 46 72 65 |unt = 0;|...*gFre|
|000017a0| 65 4c 69 73 74 20 3d 20 | 4e 55 4c 4c 3b 0d 09 09 |eList = |NULL;...|
|000017b0| 67 46 72 65 65 4c 69 73 | 74 43 6f 75 6e 74 20 3d |gFreeLis|tCount =|
|000017c0| 20 30 3b 0d 09 7d 0d 0d | 09 2f 2f 20 61 6c 6c 6f | 0;..}..|.// allo|
|000017d0| 63 61 74 65 20 6f 75 72 | 20 73 61 66 65 74 79 20 |cate our| safety |
|000017e0| 62 75 66 66 65 72 0d 09 | 41 6c 6c 6f 63 61 74 65 |buffer..|Allocate|
|000017f0| 53 61 66 65 74 79 42 75 | 66 66 65 72 28 29 3b 0d |SafetyBu|ffer();.|
|00001800| 0d 09 72 65 74 75 72 6e | 20 6e 6f 45 72 72 3b 0d |..return| noErr;.|
|00001810| 0d 7d 20 2f 2f 20 50 4f | 56 5f 69 6e 69 74 5f 6d |.} // PO|V_init_m|
|00001820| 65 6d 74 72 61 63 6b 69 | 6e 67 0d 0d 0d 2f 2f 20 |emtracki|ng...// |
|00001830| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001840| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001850| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001860| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001870| 3d 3d 3d 3d 3d 0d 76 6f | 69 64 20 50 4f 56 5f 65 |=====.vo|id POV_e|
|00001880| 6e 61 62 6c 65 5f 6d 65 | 6d 74 72 61 63 6b 69 6e |nable_me|mtrackin|
|00001890| 67 28 42 6f 6f 6c 65 61 | 6e 20 64 6f 74 72 61 63 |g(Boolea|n dotrac|
|000018a0| 6b 69 6e 67 29 0d 7b 0d | 09 67 44 6f 4d 65 6d 54 |king).{.|.gDoMemT|
|000018b0| 72 61 63 6b 69 6e 67 20 | 3d 20 64 6f 74 72 61 63 |racking |= dotrac|
|000018c0| 6b 69 6e 67 3b 0d 7d 20 | 2f 2f 20 50 4f 56 5f 65 |king;.} |// POV_e|
|000018d0| 6e 61 62 6c 65 5f 6d 65 | 6d 74 72 61 63 6b 69 6e |nable_me|mtrackin|
|000018e0| 67 0d 0d 0d 2f 2f 20 3d | 3d 3d 3d 3d 3d 3d 3d 3d |g...// =|========|
|000018f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001900| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001910| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001920| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 0d 76 6f 69 |========|====.voi|
|00001930| 64 20 48 61 6e 64 6c 65 | 4f 75 74 4f 66 4d 65 6d |d Handle|OutOfMem|
|00001940| 28 76 6f 69 64 29 0d 7b | 0d 09 2f 2f 20 57 65 20 |(void).{|..// We |
|00001950| 61 72 65 20 6d 6f 73 74 | 20 6c 69 6b 65 6c 79 20 |are most| likely |
|00001960| 6f 75 74 20 6f 66 20 6d | 65 6d 6f 72 79 2e 20 20 |out of m|emory. |
|00001970| 46 6f 72 20 6e 6f 77 2c | 20 77 65 20 77 69 6c 6c |For now,| we will|
|00001980| 20 66 72 65 65 20 61 6c | 6c 20 74 68 65 0d 09 2f | free al|l the../|
|00001990| 2f 20 61 6c 6c 6f 63 61 | 74 65 64 20 6d 65 6d 6f |/ alloca|ted memo|
|000019a0| 72 79 2c 20 61 6e 64 20 | 65 78 69 74 20 62 61 63 |ry, and |exit bac|
|000019b0| 6b 20 74 6f 20 74 68 65 | 20 6d 61 69 6e 20 6c 6f |k to the| main lo|
|000019c0| 6f 70 20 77 69 74 68 20 | 61 6e 20 65 72 72 6f 72 |op with |an error|
|000019d0| 2e 0d 09 2f 2f 20 57 65 | 20 63 6f 75 6c 64 20 62 |...// We| could b|
|000019e0| 65 20 64 6f 77 6e 20 74 | 6f 20 35 20 6f 72 20 31 |e down t|o 5 or 1|
|000019f0| 30 20 62 79 74 65 73 20 | 6f 66 20 61 76 61 69 6c |0 bytes |of avail|
|00001a00| 61 62 6c 65 20 6d 65 6d | 6f 72 79 2c 20 61 6e 64 |able mem|ory, and|
|00001a10| 20 74 6f 20 64 6f 0d 09 | 2f 2f 20 61 6e 79 74 68 | to do..|// anyth|
|00001a20| 69 6e 67 20 65 6c 73 65 | 20 28 6c 69 6b 65 20 72 |ing else| (like r|
|00001a30| 65 74 75 72 6e 20 66 72 | 6f 6d 20 6d 61 6c 6c 6f |eturn fr|om mallo|
|00001a40| 63 20 61 6e 64 20 6c 65 | 74 20 74 68 65 20 63 61 |c and le|t the ca|
|00001a50| 6c 6c 65 72 20 68 61 6e | 64 6c 65 20 69 74 29 0d |ller han|dle it).|
|00001a60| 09 2f 2f 20 72 69 73 6b | 73 20 61 20 68 61 72 64 |.// risk|s a hard|
|00001a70| 20 6c 6f 63 6b 75 70 20 | 6f 72 20 63 72 61 73 68 | lockup |or crash|
|00001a80| 21 20 20 53 6f 2c 20 66 | 69 72 73 74 2c 20 6d 61 |! So, f|irst, ma|
|00001a90| 6b 65 20 73 75 72 65 20 | 74 68 65 72 65 27 73 20 |ke sure |there's |
|00001aa0| 72 6f 6f 6d 0d 09 2f 2f | 20 66 6f 72 20 6c 6f 61 |room..//| for loa|
|00001ab0| 64 69 6e 67 20 64 69 61 | 6c 6f 67 73 20 26 20 73 |ding dia|logs & s|
|00001ac0| 74 75 66 66 20 69 6e 20 | 50 4f 56 5f 72 65 63 6c |tuff in |POV_recl|
|00001ad0| 61 69 6d 28 29 2c 20 62 | 79 20 64 75 6d 70 69 6e |aim(), b|y dumpin|
|00001ae0| 67 20 74 68 65 20 62 75 | 66 66 65 72 20 6d 65 6d |g the bu|ffer mem|
|00001af0| 6f 72 79 2e 0d 09 50 75 | 72 67 65 53 61 66 65 74 |ory...Pu|rgeSafet|
|00001b00| 79 42 75 66 66 65 72 28 | 29 3b 0d 0d 09 2f 2f 20 |yBuffer(|);...// |
|00001b10| 6f 70 65 6e 20 73 6f 6d | 65 20 6d 6f 72 65 20 68 |open som|e more h|
|00001b20| 65 61 70 20 73 70 61 63 | 65 0d 09 28 76 6f 69 64 |eap spac|e..(void|
|00001b30| 29 43 6f 6d 70 61 63 74 | 4d 65 6d 28 46 72 65 65 |)Compact|Mem(Free|
|00001b40| 4d 65 6d 28 29 29 3b 0d | 0d 09 2f 2f 20 62 65 65 |Mem());.|..// bee|
|00001b50| 70 21 0d 09 53 79 73 42 | 65 65 70 28 32 29 3b 0d |p!..SysB|eep(2);.|
|00001b60| 0d 09 2f 2f 20 4e 6f 77 | 20 66 72 65 65 20 61 6c |..// Now| free al|
|00001b70| 6c 20 6d 65 6d 6f 72 79 | 0d 09 50 4f 56 5f 72 65 |l memory|..POV_re|
|00001b80| 63 6c 61 69 6d 28 66 61 | 6c 73 65 2c 20 4e 55 4c |claim(fa|lse, NUL|
|00001b90| 4c 29 3b 0d 0d 09 2f 2f | 20 74 65 6c 6c 20 75 73 |L);...//| tell us|
|00001ba0| 65 72 20 77 65 20 66 61 | 69 6c 65 64 20 66 72 6f |er we fa|iled fro|
|00001bb0| 6d 20 68 65 72 65 0d 09 | 70 75 74 73 28 22 5c 6e |m here..|puts("\n|
|00001bc0| 23 23 20 45 72 72 6f 72 | 21 20 52 61 6e 20 6f 75 |## Error|! Ran ou|
|00001bd0| 74 20 6f 66 20 6d 65 6d | 6f 72 79 2e 20 20 41 63 |t of mem|ory. Ac|
|00001be0| 74 69 6f 6e 20 61 62 6f | 72 74 65 64 2e 22 29 3b |tion abo|rted.");|
|00001bf0| 0d 0d 09 2f 2f 20 72 65 | 61 6c 6c 6f 63 61 74 65 |...// re|allocate|
|00001c00| 20 6f 75 72 20 73 61 66 | 65 74 79 20 6e 65 74 20 | our saf|ety net |
|00001c10| 66 6f 72 20 6e 65 78 74 | 20 74 69 6d 65 0d 09 41 |for next| time..A|
|00001c20| 6c 6c 6f 63 61 74 65 53 | 61 66 65 74 79 42 75 66 |llocateS|afetyBuf|
|00001c30| 66 65 72 28 29 3b 0d 0d | 09 2f 2f 20 6e 6f 77 20 |fer();..|.// now |
|00001c40| 65 78 69 74 20 6f 75 74 | 20 6f 66 20 61 6c 6c 20 |exit out| of all |
|00001c50| 66 6e 20 63 61 6c 6c 73 | 0d 09 63 61 74 63 68 5f |fn calls|..catch_|
|00001c60| 65 78 69 74 28 31 29 3b | 0d 0d 7d 20 2f 2f 20 48 |exit(1);|..} // H|
|00001c70| 61 6e 64 6c 65 4f 75 74 | 4f 66 4d 65 6d 0d 0d 0d |andleOut|OfMem...|
|00001c80| 2f 2f 20 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |// =====|========|
|00001c90| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001ca0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001cb0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001cc0| 3d 3d 3d 3d 3d 3d 3d 3d | 0d 23 69 66 20 4d 41 4c |========|.#if MAL|
|00001cd0| 4c 4f 43 5f 54 52 41 43 | 45 0d 76 6f 69 64 20 2a |LOC_TRAC|E.void *|
|00001ce0| 50 4f 56 5f 6d 61 6c 6c | 6f 63 28 73 69 7a 65 5f |POV_mall|oc(size_|
|00001cf0| 74 20 73 69 7a 65 2c 20 | 63 68 61 72 20 2a 20 73 |t size, |char * s|
|00001d00| 72 63 5f 66 69 6c 65 2c | 20 73 68 6f 72 74 20 73 |rc_file,| short s|
|00001d10| 72 63 5f 6c 69 6e 65 5f | 6e 75 6d 29 0d 23 65 6c |rc_line_|num).#el|
|00001d20| 73 65 0d 76 6f 69 64 20 | 2a 50 4f 56 5f 6d 61 6c |se.void |*POV_mal|
|00001d30| 6c 6f 63 28 73 69 7a 65 | 5f 74 20 73 69 7a 65 29 |loc(size|_t size)|
|00001d40| 0d 23 65 6e 64 69 66 20 | 2f 2f 20 4d 41 4c 4c 4f |.#endif |// MALLO|
|00001d50| 43 5f 54 52 41 43 45 0d | 7b 0d 09 76 6f 69 64 09 |C_TRACE.|{..void.|
|00001d60| 2a 6d 79 70 74 72 20 3d | 20 4e 55 4c 4c 3b 0d 23 |*myptr =| NULL;.#|
|00001d70| 69 66 20 55 53 45 5f 4d | 45 4d 48 41 4e 44 4c 45 |if USE_M|EMHANDLE|
|00001d80| 53 0d 09 48 61 6e 64 6c | 65 09 6d 79 68 64 6c 20 |S..Handl|e.myhdl |
|00001d90| 3d 20 4e 55 4c 4c 3b 0d | 23 65 6e 64 69 66 0d 0d |= NULL;.|#endif..|
|00001da0| 09 69 66 20 28 4d 61 78 | 42 6c 6f 63 6b 28 29 20 |.if (Max|Block() |
|00001db0| 3e 20 4d 49 4e 5f 53 41 | 46 45 5f 42 59 54 45 53 |> MIN_SA|FE_BYTES|
|00001dc0| 29 0d 09 7b 0d 23 69 66 | 20 4d 41 4c 4c 4f 43 5f |)..{.#if| MALLOC_|
|00001dd0| 54 52 41 43 45 0d 09 09 | 73 69 7a 65 20 2b 3d 20 |TRACE...|size += |
|00001de0| 33 32 3b 20 2f 2f 20 61 | 64 64 20 72 6f 6f 6d 20 |32; // a|dd room |
|00001df0| 66 6f 72 20 74 61 67 20 | 66 69 6c 65 20 6e 61 6d |for tag |file nam|
|00001e00| 65 2f 6c 69 6e 65 20 23 | 0d 23 65 6e 64 69 66 20 |e/line #|.#endif |
|00001e10| 2f 2f 20 4d 41 4c 4c 4f | 43 5f 54 52 41 43 45 0d |// MALLO|C_TRACE.|
|00001e20| 0d 23 69 66 20 55 53 45 | 5f 4d 45 4d 54 41 47 53 |.#if USE|_MEMTAGS|
|00001e30| 0d 09 09 73 69 7a 65 20 | 2b 3d 20 34 3b 20 2f 2f |...size |+= 4; //|
|00001e40| 20 61 64 64 20 72 6f 6f | 6d 20 66 6f 72 20 74 61 | add roo|m for ta|
|00001e50| 67 20 4d 41 4c 4c 4f 43 | 5f 54 41 47 0d 23 65 6e |g MALLOC|_TAG.#en|
|00001e60| 64 69 66 20 2f 2f 20 55 | 53 45 5f 4d 45 4d 54 41 |dif // U|SE_MEMTA|
|00001e70| 47 53 0d 0d 23 69 66 20 | 55 53 45 5f 4e 41 54 49 |GS..#if |USE_NATI|
|00001e80| 56 45 5f 4d 41 4c 4c 4f | 43 0d 20 23 69 66 20 55 |VE_MALLO|C. #if U|
|00001e90| 53 45 5f 4d 45 4d 48 41 | 4e 44 4c 45 53 0d 09 09 |SE_MEMHA|NDLES...|
|00001ea0| 2f 2f 20 75 73 65 20 6c | 6f 63 6b 65 64 20 68 61 |// use l|ocked ha|
|00001eb0| 6e 64 6c 65 73 0d 09 09 | 6d 79 68 64 6c 20 3d 20 |ndles...|myhdl = |
|00001ec0| 4e 65 77 48 61 6e 64 6c | 65 28 73 69 7a 65 29 3b |NewHandl|e(size);|
|00001ed0| 0d 09 09 69 66 20 28 6d | 79 68 64 6c 29 0d 09 09 |...if (m|yhdl)...|
|00001ee0| 7b 0d 09 09 09 4d 6f 76 | 65 48 48 69 28 6d 79 68 |{....Mov|eHHi(myh|
|00001ef0| 64 6c 29 3b 20 2f 2f 20 | 6d 6f 76 65 20 69 74 20 |dl); // |move it |
|00001f00| 75 70 0d 09 09 09 48 4c | 6f 63 6b 28 6d 79 68 64 |up....HL|ock(myhd|
|00001f10| 6c 29 3b 20 2f 2f 20 61 | 6e 64 20 6c 6f 63 6b 20 |l); // a|nd lock |
|00001f20| 69 74 20 64 6f 77 6e 0d | 09 09 09 2f 2f 20 69 74 |it down.|...// it|
|00001f30| 27 73 20 72 65 61 6c 6c | 79 20 61 20 68 61 6e 64 |'s reall|y a hand|
|00001f40| 6c 65 2c 20 74 75 72 6e | 20 69 74 20 69 6e 74 6f |le, turn| it into|
|00001f50| 20 61 20 70 6f 69 6e 74 | 65 72 0d 09 09 09 6d 79 | a point|er....my|
|00001f60| 70 74 72 20 3d 20 2a 6d | 79 68 64 6c 3b 0d 09 09 |ptr = *m|yhdl;...|
|00001f70| 7d 0d 20 23 65 6c 73 65 | 0d 09 09 2f 2f 20 75 73 |}. #else|...// us|
|00001f80| 65 20 72 65 67 75 6c 61 | 72 20 70 6f 69 6e 74 65 |e regula|r pointe|
|00001f90| 72 73 0d 09 09 6d 79 70 | 74 72 20 3d 20 4e 65 77 |rs...myp|tr = New|
|00001fa0| 50 74 72 28 73 69 7a 65 | 29 3b 0d 20 23 65 6e 64 |Ptr(size|);. #end|
|00001fb0| 69 66 20 2f 2f 20 55 53 | 45 5f 4d 45 4d 48 41 4e |if // US|E_MEMHAN|
|00001fc0| 44 4c 45 53 0d 23 65 6c | 73 65 0d 09 09 2f 2f 20 |DLES.#el|se...// |
|00001fd0| 75 73 65 20 53 74 64 20 | 43 20 4c 69 62 20 61 6c |use Std |C Lib al|
|00001fe0| 6c 6f 63 61 74 6f 72 0d | 09 09 6d 79 70 74 72 20 |locator.|..myptr |
|00001ff0| 3d 20 6d 61 6c 6c 6f 63 | 28 73 69 7a 65 29 3b 0d |= malloc|(size);.|
|00002000| 23 65 6e 64 69 66 20 2f | 2f 20 55 53 45 5f 4e 41 |#endif /|/ USE_NA|
|00002010| 54 49 56 45 5f 4d 41 4c | 4c 4f 43 0d 0d 09 09 69 |TIVE_MAL|LOC....i|
|00002020| 66 20 28 6d 79 70 74 72 | 29 0d 09 09 7b 20 2f 2f |f (myptr|)...{ //|
|00002030| 20 73 75 63 63 65 73 73 | 66 75 6c 6c 79 20 61 6c | success|fully al|
|00002040| 6c 6f 63 61 74 65 64 20 | 69 74 0d 20 0d 23 69 66 |located |it. .#if|
|00002050| 20 4d 41 4c 4c 4f 43 5f | 54 52 41 43 45 0d 09 09 | MALLOC_|TRACE...|
|00002060| 09 2a 28 73 68 6f 72 74 | 2a 29 6d 79 70 74 72 20 |.*(short|*)myptr |
|00002070| 3d 20 73 72 63 5f 6c 69 | 6e 65 5f 6e 75 6d 3b 0d |= src_li|ne_num;.|
|00002080| 09 09 09 6d 79 70 74 72 | 20 3d 20 28 76 6f 69 64 |...myptr| = (void|
|00002090| 2a 29 28 28 28 6c 6f 6e | 67 29 6d 79 70 74 72 29 |*)(((lon|g)myptr)|
|000020a0| 2b 32 4c 29 3b 20 2f 2f | 20 70 6f 69 6e 74 20 62 |+2L); //| point b|
|000020b0| 65 79 6f 6e 64 20 6c 69 | 6e 65 20 23 0d 09 09 09 |eyond li|ne #....|
|000020c0| 73 74 72 63 70 79 28 6d | 79 70 74 72 2c 20 73 72 |strcpy(m|yptr, sr|
|000020d0| 63 5f 66 69 6c 65 29 3b | 0d 09 09 09 6d 79 70 74 |c_file);|....mypt|
|000020e0| 72 20 3d 20 28 76 6f 69 | 64 2a 29 28 28 28 6c 6f |r = (voi|d*)(((lo|
|000020f0| 6e 67 29 6d 79 70 74 72 | 29 2b 33 30 4c 29 3b 20 |ng)myptr|)+30L); |
|00002100| 2f 2f 20 70 6f 69 6e 74 | 20 62 65 79 6f 6e 64 20 |// point| beyond |
|00002110| 66 69 6c 65 20 6e 61 6d | 65 0d 23 65 6e 64 69 66 |file nam|e.#endif|
|00002120| 20 2f 2f 20 4d 41 4c 4c | 4f 43 5f 54 52 41 43 45 | // MALL|OC_TRACE|
|00002130| 0d 0d 23 69 66 20 55 53 | 45 5f 4d 45 4d 54 41 47 |..#if US|E_MEMTAG|
|00002140| 53 0d 09 09 09 2a 28 6c | 6f 6e 67 2a 29 6d 79 70 |S....*(l|ong*)myp|
|00002150| 74 72 20 3d 20 4d 41 4c | 4c 4f 43 5f 54 41 47 3b |tr = MAL|LOC_TAG;|
|00002160| 0d 09 09 09 6d 79 70 74 | 72 20 3d 20 28 76 6f 69 |....mypt|r = (voi|
|00002170| 64 2a 29 28 28 28 6c 6f | 6e 67 29 6d 79 70 74 72 |d*)(((lo|ng)myptr|
|00002180| 29 2b 34 4c 29 3b 20 2f | 2f 20 70 6f 69 6e 74 20 |)+4L); /|/ point |
|00002190| 62 65 79 6f 6e 64 20 74 | 61 67 0d 23 65 6e 64 69 |beyond t|ag.#endi|
|000021a0| 66 20 2f 2f 20 55 53 45 | 5f 4d 45 4d 54 41 47 53 |f // USE|_MEMTAGS|
|000021b0| 0d 0d 09 09 09 69 66 20 | 28 67 44 6f 4d 65 6d 54 |.....if |(gDoMemT|
|000021c0| 72 61 63 6b 69 6e 67 29 | 0d 09 09 09 7b 20 20 2f |racking)|....{ /|
|000021d0| 2f 20 72 65 6d 65 6d 62 | 65 72 20 74 68 69 73 20 |/ rememb|er this |
|000021e0| 70 6f 69 6e 74 65 72 20 | 66 6f 72 20 61 75 74 6f |pointer |for auto|
|000021f0| 2d 64 69 73 70 6f 73 69 | 6e 67 20 6c 61 74 65 72 |-disposi|ng later|
|00002200| 0d 23 69 66 20 55 53 45 | 5f 4d 45 4d 48 41 4e 44 |.#if USE|_MEMHAND|
|00002210| 4c 45 53 0d 09 09 09 09 | 2f 2f 20 72 65 6d 65 6d |LES.....|// remem|
|00002220| 62 65 72 20 74 68 65 20 | 68 61 6e 64 6c 65 0d 09 |ber the |handle..|
|00002230| 09 09 09 67 4d 61 6c 6c | 6f 63 4c 69 73 74 5b 67 |...gMall|ocList[g|
|00002240| 4d 61 6c 6c 6f 63 4c 69 | 73 74 43 6f 75 6e 74 5d |MallocLi|stCount]|
|00002250| 20 3d 20 28 50 74 72 29 | 6d 79 68 64 6c 3b 0d 23 | = (Ptr)|myhdl;.#|
|00002260| 65 6c 73 65 0d 09 09 09 | 09 67 4d 61 6c 6c 6f 63 |else....|.gMalloc|
|00002270| 4c 69 73 74 5b 67 4d 61 | 6c 6c 6f 63 4c 69 73 74 |List[gMa|llocList|
|00002280| 43 6f 75 6e 74 5d 20 3d | 20 6d 79 70 74 72 3b 0d |Count] =| myptr;.|
|00002290| 23 65 6e 64 69 66 0d 09 | 09 09 09 69 66 20 28 67 |#endif..|...if (g|
|000022a0| 4d 61 6c 6c 6f 63 4c 69 | 73 74 43 6f 75 6e 74 20 |MallocLi|stCount |
|000022b0| 3c 20 67 4d 61 6c 6c 6f | 63 4c 69 73 74 53 69 7a |< gMallo|cListSiz|
|000022c0| 65 29 0d 09 09 09 09 09 | 67 4d 61 6c 6c 6f 63 4c |e)......|gMallocL|
|000022d0| 69 73 74 43 6f 75 6e 74 | 2b 2b 3b 0d 09 09 09 09 |istCount|++;.....|
|000022e0| 65 6c 73 65 0d 09 09 09 | 09 09 67 45 73 63 61 70 |else....|..gEscap|
|000022f0| 65 64 4d 61 6c 6c 6f 63 | 73 43 6f 75 6e 74 2b 2b |edMalloc|sCount++|
|00002300| 3b 20 2f 2f 20 6f 6f 70 | 73 2c 20 6f 76 65 72 66 |; // oop|s, overf|
|00002310| 6c 6f 77 2c 20 6f 6e 65 | 20 67 6f 74 20 61 77 61 |low, one| got awa|
|00002320| 79 21 0d 09 09 09 7d 0d | 09 09 7d 0d 09 7d 0d 0d |y!....}.|..}..}..|
|00002330| 09 2f 2f 20 61 6c 6c 6f | 63 61 74 69 6f 6e 20 77 |.// allo|cation w|
|00002340| 61 73 20 75 6e 73 75 63 | 63 65 73 73 66 75 6c 0d |as unsuc|cessful.|
|00002350| 09 69 66 20 28 6d 79 70 | 74 72 20 3d 3d 20 4e 55 |.if (myp|tr == NU|
|00002360| 4c 4c 29 0d 09 09 48 61 | 6e 64 6c 65 4f 75 74 4f |LL)...Ha|ndleOutO|
|00002370| 66 4d 65 6d 28 29 3b 0d | 0d 09 72 65 74 75 72 6e |fMem();.|..return|
|00002380| 20 6d 79 70 74 72 3b 0d | 0d 7d 20 2f 2f 20 50 4f | myptr;.|.} // PO|
|00002390| 56 5f 6d 61 6c 6c 6f 63 | 0d 0d 0d 2f 2f 20 3d 3d |V_malloc|...// ==|
|000023a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000023b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000023c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000023d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000023e0| 3d 3d 3d 0d 23 69 66 20 | 4d 41 4c 4c 4f 43 5f 54 |===.#if |MALLOC_T|
|000023f0| 52 41 43 45 0d 76 6f 69 | 64 20 2a 50 4f 56 5f 63 |RACE.voi|d *POV_c|
|00002400| 61 6c 6c 6f 63 28 73 69 | 7a 65 5f 74 20 6e 6d 65 |alloc(si|ze_t nme|
|00002410| 6d 62 2c 20 73 69 7a 65 | 5f 74 20 73 69 7a 65 2c |mb, size|_t size,|
|00002420| 20 63 68 61 72 20 2a 20 | 73 72 63 5f 66 69 6c 65 | char * |src_file|
|00002430| 2c 20 73 68 6f 72 74 20 | 73 72 63 5f 6c 69 6e 65 |, short |src_line|
|00002440| 5f 6e 75 6d 29 0d 23 65 | 6c 73 65 0d 76 6f 69 64 |_num).#e|lse.void|
|00002450| 20 2a 50 4f 56 5f 63 61 | 6c 6c 6f 63 28 73 69 7a | *POV_ca|lloc(siz|
|00002460| 65 5f 74 20 6e 6d 65 6d | 62 2c 20 73 69 7a 65 5f |e_t nmem|b, size_|
|00002470| 74 20 73 69 7a 65 29 0d | 23 65 6e 64 69 66 20 2f |t size).|#endif /|
|00002480| 2f 20 4d 41 4c 4c 4f 43 | 5f 54 52 41 43 45 0d 7b |/ MALLOC|_TRACE.{|
|00002490| 0d 09 76 6f 69 64 20 2a | 6d 79 70 74 72 20 3d 20 |..void *|myptr = |
|000024a0| 4e 55 4c 4c 3b 0d 23 69 | 66 20 55 53 45 5f 4d 45 |NULL;.#i|f USE_ME|
|000024b0| 4d 48 41 4e 44 4c 45 53 | 0d 09 48 61 6e 64 6c 65 |MHANDLES|..Handle|
|000024c0| 09 6d 79 68 64 6c 20 3d | 20 4e 55 4c 4c 3b 0d 23 |.myhdl =| NULL;.#|
|000024d0| 65 6e 64 69 66 0d 0d 09 | 69 66 20 28 4d 61 78 42 |endif...|if (MaxB|
|000024e0| 6c 6f 63 6b 28 29 20 3e | 20 4d 49 4e 5f 53 41 46 |lock() >| MIN_SAF|
|000024f0| 45 5f 42 59 54 45 53 29 | 0d 09 7b 0d 23 69 66 20 |E_BYTES)|..{.#if |
|00002500| 4d 41 4c 4c 4f 43 5f 54 | 52 41 43 45 0d 09 09 73 |MALLOC_T|RACE...s|
|00002510| 69 7a 65 20 2b 3d 20 33 | 32 3b 20 2f 2f 20 61 64 |ize += 3|2; // ad|
|00002520| 64 20 72 6f 6f 6d 20 66 | 6f 72 20 74 61 67 20 66 |d room f|or tag f|
|00002530| 69 6c 65 20 6e 61 6d 65 | 2f 6c 69 6e 65 20 23 0d |ile name|/line #.|
|00002540| 23 65 6e 64 69 66 20 2f | 2f 20 4d 41 4c 4c 4f 43 |#endif /|/ MALLOC|
|00002550| 5f 54 52 41 43 45 0d 0d | 23 69 66 20 55 53 45 5f |_TRACE..|#if USE_|
|00002560| 4d 45 4d 54 41 47 53 0d | 09 09 73 69 7a 65 20 2b |MEMTAGS.|..size +|
|00002570| 3d 20 34 3b 20 2f 2f 20 | 61 64 64 20 72 6f 6f 6d |= 4; // |add room|
|00002580| 20 66 6f 72 20 74 61 67 | 20 4d 41 4c 4c 4f 43 5f | for tag| MALLOC_|
|00002590| 54 41 47 0d 23 65 6e 64 | 69 66 20 2f 2f 20 55 53 |TAG.#end|if // US|
|000025a0| 45 5f 4d 45 4d 54 41 47 | 53 0d 0d 23 69 66 20 55 |E_MEMTAG|S..#if U|
|000025b0| 53 45 5f 4e 41 54 49 56 | 45 5f 4d 41 4c 4c 4f 43 |SE_NATIV|E_MALLOC|
|000025c0| 0d 20 23 69 66 20 55 53 | 45 5f 4d 45 4d 48 41 4e |. #if US|E_MEMHAN|
|000025d0| 44 4c 45 53 0d 09 09 2f | 2f 20 75 73 65 20 6c 6f |DLES.../|/ use lo|
|000025e0| 63 6b 65 64 20 68 61 6e | 64 6c 65 73 0d 09 09 6d |cked han|dles...m|
|000025f0| 79 70 74 72 20 3d 20 4e | 65 77 48 61 6e 64 6c 65 |yptr = N|ewHandle|
|00002600| 43 6c 65 61 72 28 6e 6d | 65 6d 62 2a 73 69 7a 65 |Clear(nm|emb*size|
|00002610| 29 3b 0d 09 09 69 66 20 | 28 6d 79 68 64 6c 29 0d |);...if |(myhdl).|
|00002620| 09 09 7b 0d 09 09 09 4d | 6f 76 65 48 48 69 28 6d |..{....M|oveHHi(m|
|00002630| 79 68 64 6c 29 3b 20 2f | 2f 20 6d 6f 76 65 20 69 |yhdl); /|/ move i|
|00002640| 74 20 75 70 0d 09 09 09 | 48 4c 6f 63 6b 28 6d 79 |t up....|HLock(my|
|00002650| 68 64 6c 29 3b 20 2f 2f | 20 61 6e 64 20 6c 6f 63 |hdl); //| and loc|
|00002660| 6b 20 69 74 20 64 6f 77 | 6e 0d 09 09 09 2f 2f 20 |k it dow|n....// |
|00002670| 69 74 27 73 20 72 65 61 | 6c 6c 79 20 61 20 68 61 |it's rea|lly a ha|
|00002680| 6e 64 6c 65 2c 20 74 75 | 72 6e 20 69 74 20 69 6e |ndle, tu|rn it in|
|00002690| 74 6f 20 61 20 70 6f 69 | 6e 74 65 72 0d 09 09 09 |to a poi|nter....|
|000026a0| 6d 79 70 74 72 20 3d 20 | 2a 6d 79 68 64 6c 3b 0d |myptr = |*myhdl;.|
|000026b0| 09 09 7d 0d 20 23 65 6c | 73 65 0d 09 09 2f 2f 20 |..}. #el|se...// |
|000026c0| 75 73 65 20 72 65 67 75 | 6c 61 72 20 70 6f 69 6e |use regu|lar poin|
|000026d0| 74 65 72 73 0d 09 09 6d | 79 70 74 72 20 3d 20 4e |ters...m|yptr = N|
|000026e0| 65 77 50 74 72 43 6c 65 | 61 72 28 6e 6d 65 6d 62 |ewPtrCle|ar(nmemb|
|000026f0| 2a 73 69 7a 65 29 3b 0d | 20 23 65 6e 64 69 66 20 |*size);.| #endif |
|00002700| 2f 2f 20 55 53 45 5f 4d | 45 4d 48 41 4e 44 4c 45 |// USE_M|EMHANDLE|
|00002710| 53 0d 23 65 6c 73 65 0d | 09 09 6d 79 70 74 72 20 |S.#else.|..myptr |
|00002720| 3d 20 63 61 6c 6c 6f 63 | 28 6e 6d 65 6d 62 2c 73 |= calloc|(nmemb,s|
|00002730| 69 7a 65 29 3b 0d 23 65 | 6e 64 69 66 20 2f 2f 20 |ize);.#e|ndif // |
|00002740| 55 53 45 5f 4e 41 54 49 | 56 45 5f 4d 41 4c 4c 4f |USE_NATI|VE_MALLO|
|00002750| 43 0d 0d 09 09 69 66 20 | 28 6d 79 70 74 72 29 0d |C....if |(myptr).|
|00002760| 09 09 7b 20 2f 2f 20 73 | 75 63 63 65 73 73 66 75 |..{ // s|uccessfu|
|00002770| 6c 6c 79 20 61 6c 6c 6f | 63 61 74 65 64 20 69 74 |lly allo|cated it|
|00002780| 20 0d 23 69 66 20 4d 41 | 4c 4c 4f 43 5f 54 52 41 | .#if MA|LLOC_TRA|
|00002790| 43 45 0d 09 09 09 2a 28 | 73 68 6f 72 74 2a 29 6d |CE....*(|short*)m|
|000027a0| 79 70 74 72 20 3d 20 73 | 72 63 5f 6c 69 6e 65 5f |yptr = s|rc_line_|
|000027b0| 6e 75 6d 3b 0d 09 09 09 | 6d 79 70 74 72 20 3d 20 |num;....|myptr = |
|000027c0| 28 76 6f 69 64 2a 29 28 | 28 28 6c 6f 6e 67 29 6d |(void*)(|((long)m|
|000027d0| 79 70 74 72 29 2b 32 4c | 29 3b 20 2f 2f 20 70 6f |yptr)+2L|); // po|
|000027e0| 69 6e 74 20 62 65 79 6f | 6e 64 20 6c 69 6e 65 20 |int beyo|nd line |
|000027f0| 23 0d 09 09 09 73 74 72 | 63 70 79 28 6d 79 70 74 |#....str|cpy(mypt|
|00002800| 72 2c 20 73 72 63 5f 66 | 69 6c 65 29 3b 0d 09 09 |r, src_f|ile);...|
|00002810| 09 6d 79 70 74 72 20 3d | 20 28 76 6f 69 64 2a 29 |.myptr =| (void*)|
|00002820| 28 28 28 6c 6f 6e 67 29 | 6d 79 70 74 72 29 2b 33 |(((long)|myptr)+3|
|00002830| 30 4c 29 3b 20 2f 2f 20 | 70 6f 69 6e 74 20 62 65 |0L); // |point be|
|00002840| 79 6f 6e 64 20 66 69 6c | 65 20 6e 61 6d 65 0d 23 |yond fil|e name.#|
|00002850| 65 6e 64 69 66 20 2f 2f | 20 4d 41 4c 4c 4f 43 5f |endif //| MALLOC_|
|00002860| 54 52 41 43 45 0d 0d 23 | 69 66 20 55 53 45 5f 4d |TRACE..#|if USE_M|
|00002870| 45 4d 54 41 47 53 0d 09 | 09 09 2a 28 6c 6f 6e 67 |EMTAGS..|..*(long|
|00002880| 2a 29 6d 79 70 74 72 20 | 3d 20 4d 41 4c 4c 4f 43 |*)myptr |= MALLOC|
|00002890| 5f 54 41 47 3b 0d 09 09 | 09 6d 79 70 74 72 20 3d |_TAG;...|.myptr =|
|000028a0| 20 28 76 6f 69 64 2a 29 | 28 28 28 6c 6f 6e 67 29 | (void*)|(((long)|
|000028b0| 6d 79 70 74 72 29 2b 34 | 4c 29 3b 20 2f 2f 20 70 |myptr)+4|L); // p|
|000028c0| 6f 69 6e 74 20 62 65 79 | 6f 6e 64 20 74 61 67 0d |oint bey|ond tag.|
|000028d0| 23 65 6e 64 69 66 20 2f | 2f 20 55 53 45 5f 4d 45 |#endif /|/ USE_ME|
|000028e0| 4d 54 41 47 53 0d 0d 09 | 09 09 69 66 20 28 67 44 |MTAGS...|..if (gD|
|000028f0| 6f 4d 65 6d 54 72 61 63 | 6b 69 6e 67 29 0d 09 09 |oMemTrac|king)...|
|00002900| 09 7b 20 20 2f 2f 20 72 | 65 6d 65 6d 62 65 72 20 |.{ // r|emember |
|00002910| 74 68 69 73 20 70 6f 69 | 6e 74 65 72 20 66 6f 72 |this poi|nter for|
|00002920| 20 61 75 74 6f 2d 64 69 | 73 70 6f 73 69 6e 67 20 | auto-di|sposing |
|00002930| 6c 61 74 65 72 0d 23 69 | 66 20 55 53 45 5f 4d 45 |later.#i|f USE_ME|
|00002940| 4d 48 41 4e 44 4c 45 53 | 0d 09 09 09 09 2f 2f 20 |MHANDLES|.....// |
|00002950| 72 65 6d 65 6d 62 65 72 | 20 74 68 65 20 68 61 6e |remember| the han|
|00002960| 64 6c 65 0d 09 09 09 09 | 67 4d 61 6c 6c 6f 63 4c |dle.....|gMallocL|
|00002970| 69 73 74 5b 67 4d 61 6c | 6c 6f 63 4c 69 73 74 43 |ist[gMal|locListC|
|00002980| 6f 75 6e 74 5d 20 3d 20 | 28 50 74 72 29 6d 79 68 |ount] = |(Ptr)myh|
|00002990| 64 6c 3b 0d 23 65 6c 73 | 65 0d 09 09 09 09 67 4d |dl;.#els|e.....gM|
|000029a0| 61 6c 6c 6f 63 4c 69 73 | 74 5b 67 4d 61 6c 6c 6f |allocLis|t[gMallo|
|000029b0| 63 4c 69 73 74 43 6f 75 | 6e 74 5d 20 3d 20 6d 79 |cListCou|nt] = my|
|000029c0| 70 74 72 3b 0d 23 65 6e | 64 69 66 0d 09 09 09 09 |ptr;.#en|dif.....|
|000029d0| 69 66 20 28 67 4d 61 6c | 6c 6f 63 4c 69 73 74 43 |if (gMal|locListC|
|000029e0| 6f 75 6e 74 20 3c 20 67 | 4d 61 6c 6c 6f 63 4c 69 |ount < g|MallocLi|
|000029f0| 73 74 53 69 7a 65 29 0d | 09 09 09 09 09 67 4d 61 |stSize).|.....gMa|
|00002a00| 6c 6c 6f 63 4c 69 73 74 | 43 6f 75 6e 74 2b 2b 3b |llocList|Count++;|
|00002a10| 0d 09 09 09 09 65 6c 73 | 65 0d 09 09 09 09 09 67 |.....els|e......g|
|00002a20| 45 73 63 61 70 65 64 4d | 61 6c 6c 6f 63 73 43 6f |EscapedM|allocsCo|
|00002a30| 75 6e 74 2b 2b 3b 20 2f | 2f 20 6f 6f 70 73 2c 20 |unt++; /|/ oops, |
|00002a40| 6f 76 65 72 66 6c 6f 77 | 2c 20 6f 6e 65 20 67 6f |overflow|, one go|
|00002a50| 74 20 61 77 61 79 21 0d | 09 09 09 7d 0d 09 09 7d |t away!.|...}...}|
|00002a60| 0d 09 7d 0d 0d 09 2f 2f | 20 61 6c 6c 6f 63 61 74 |..}...//| allocat|
|00002a70| 69 6f 6e 20 77 61 73 20 | 75 6e 73 75 63 63 65 73 |ion was |unsucces|
|00002a80| 73 66 75 6c 0d 09 69 66 | 20 28 6d 79 70 74 72 20 |sful..if| (myptr |
|00002a90| 3d 3d 20 4e 55 4c 4c 29 | 0d 09 09 48 61 6e 64 6c |== NULL)|...Handl|
|00002aa0| 65 4f 75 74 4f 66 4d 65 | 6d 28 29 3b 0d 0d 09 72 |eOutOfMe|m();...r|
|00002ab0| 65 74 75 72 6e 20 6d 79 | 70 74 72 3b 0d 0d 7d 20 |eturn my|ptr;..} |
|00002ac0| 2f 2f 20 50 4f 56 5f 63 | 61 6c 6c 6f 63 0d 0d 0d |// POV_c|alloc...|
|00002ad0| 0d 2f 2f 20 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.// ====|========|
|00002ae0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002af0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002b00| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002b10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 0d 76 6f 69 64 20 2a |========|=.void *|
|00002b20| 50 4f 56 5f 72 65 61 6c | 6c 6f 63 28 76 6f 69 64 |POV_real|loc(void|
|00002b30| 20 2a 20 70 2c 20 73 69 | 7a 65 5f 74 20 6e 65 77 | * p, si|ze_t new|
|00002b40| 73 69 7a 65 29 0d 7b 0d | 70 72 69 6e 74 66 28 22 |size).{.|printf("|
|00002b50| 45 52 52 4f 52 21 20 72 | 65 61 6c 6c 6f 63 20 6e |ERROR! r|ealloc n|
|00002b60| 6f 74 20 72 65 61 64 79 | 21 5c 6e 22 29 3b 0d 2f |ot ready|!\n");./|
|00002b70| 2a 0d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |*.------|--------|
|00002b80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002b90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 20 6e 6f 74 20 72 |--------|-- not r|
|00002ba0| 65 61 64 79 20 79 65 74 | 21 0d 23 69 66 20 55 53 |eady yet|!.#if US|
|00002bb0| 45 5f 4e 41 54 49 56 45 | 5f 4d 41 4c 4c 4f 43 0d |E_NATIVE|_MALLOC.|
|00002bc0| 09 73 69 7a 65 5f 74 09 | 6f 6c 64 73 69 7a 65 3b |.size_t.|oldsize;|
|00002bd0| 0d 23 65 6e 64 69 66 0d | 23 69 66 20 55 53 45 5f |.#endif.|#if USE_|
|00002be0| 4d 45 4d 48 41 4e 44 4c | 45 53 0d 09 48 61 6e 64 |MEMHANDL|ES..Hand|
|00002bf0| 6c 65 09 6d 79 68 64 6c | 20 3d 20 4e 55 4c 4c 3b |le.myhdl| = NULL;|
|00002c00| 0d 23 65 6e 64 69 66 0d | 0d 09 73 68 6f 72 74 09 |.#endif.|..short.|
|00002c10| 6b 3b 0d 09 76 6f 69 64 | 09 2a 6d 79 70 74 72 20 |k;..void|.*myptr |
|00002c20| 3d 20 4e 55 4c 4c 3b 0d | 0d 09 2f 2f 20 57 61 72 |= NULL;.|..// War|
|00002c30| 6e 20 75 73 65 72 20 69 | 66 20 6e 69 6c 20 70 6f |n user i|f nil po|
|00002c40| 69 6e 74 65 72 20 70 61 | 73 73 65 64 20 69 6e 21 |inter pa|ssed in!|
|00002c50| 0d 09 69 66 20 28 70 20 | 3d 3d 20 4e 55 4c 4c 29 |..if (p |== NULL)|
|00002c60| 0d 09 7b 0d 09 09 70 72 | 69 6e 74 66 28 22 23 23 |..{...pr|intf("##|
|00002c70| 20 57 61 72 6e 69 6e 67 | 21 20 49 67 6e 6f 72 69 | Warning|! Ignori|
|00002c80| 6e 67 20 61 6e 20 61 74 | 74 65 6d 70 74 20 74 6f |ng an at|tempt to|
|00002c90| 20 72 65 61 6c 6c 6f 63 | 20 61 20 6e 69 6c 20 70 | realloc| a nil p|
|00002ca0| 6f 69 6e 74 65 72 21 5c | 6e 22 29 3b 0d 23 69 66 |ointer!\|n");.#if|
|00002cb0| 20 55 53 45 5f 4d 45 4d | 54 41 47 53 0d 09 09 44 | USE_MEM|TAGS...D|
|00002cc0| 65 62 75 67 53 74 72 28 | 22 5c 70 54 72 69 65 64 |ebugStr(|"\pTried|
|00002cd0| 20 74 6f 20 66 72 65 65 | 20 61 20 6e 69 6c 20 70 | to free| a nil p|
|00002ce0| 6f 69 6e 74 65 72 22 29 | 3b 0d 23 65 6e 64 69 66 |ointer")|;.#endif|
|00002cf0| 20 2f 2f 20 55 53 45 5f | 4d 45 4d 54 41 47 53 0d | // USE_|MEMTAGS.|
|00002d00| 09 09 72 65 74 75 72 6e | 20 4e 55 4c 4c 3b 0d 09 |..return| NULL;..|
|00002d10| 7d 0d 0d 09 69 66 20 28 | 4d 61 78 42 6c 6f 63 6b |}...if (|MaxBlock|
|00002d20| 28 29 20 3e 20 4d 49 4e | 5f 53 41 46 45 5f 42 59 |() > MIN|_SAFE_BY|
|00002d30| 54 45 53 29 0d 09 7b 0d | 23 69 66 20 55 53 45 5f |TES)..{.|#if USE_|
|00002d40| 4d 45 4d 54 41 47 53 0d | 09 09 6e 65 77 73 69 7a |MEMTAGS.|..newsiz|
|00002d50| 65 20 2b 3d 20 34 3b 20 | 2f 2f 20 61 64 64 20 72 |e += 4; |// add r|
|00002d60| 6f 6f 6d 20 66 6f 72 20 | 74 61 67 20 4d 41 4c 4c |oom for |tag MALL|
|00002d70| 4f 43 5f 54 41 47 0d 09 | 09 70 4f 72 69 67 20 3d |OC_TAG..|.pOrig =|
|00002d80| 20 28 76 6f 69 64 2a 29 | 28 28 28 6c 6f 6e 67 29 | (void*)|(((long)|
|00002d90| 70 29 2d 34 4c 29 3b 20 | 2f 2f 20 62 61 63 6b 20 |p)-4L); |// back |
|00002da0| 75 70 20 74 6f 20 74 61 | 67 2f 6f 72 69 67 69 6e |up to ta|g/origin|
|00002db0| 61 6c 20 70 6f 73 69 74 | 69 6f 6e 0d 09 09 69 66 |al posit|ion...if|
|00002dc0| 20 28 2a 28 6c 6f 6e 67 | 2a 29 70 4f 72 69 67 20 | (*(long|*)pOrig |
|00002dd0| 21 3d 20 4d 41 4c 4c 4f | 43 5f 54 41 47 29 0d 09 |!= MALLO|C_TAG)..|
|00002de0| 09 7b 0d 09 09 09 70 72 | 69 6e 74 66 28 22 23 23 |.{....pr|intf("##|
|00002df0| 20 45 72 72 6f 72 21 20 | 20 54 72 69 65 64 20 74 | Error! | Tried t|
|00002e00| 6f 20 72 65 61 6c 6c 6f | 63 20 61 20 62 61 64 2f |o reallo|c a bad/|
|00002e10| 73 74 6f 6d 70 65 64 20 | 62 6c 6f 63 6b 21 20 28 |stomped |block! (|
|00002e20| 24 25 6c 78 29 5c 6e 22 | 2c 70 4f 72 69 67 29 3b |$%lx)\n"|,pOrig);|
|00002e30| 0d 09 09 09 44 65 62 75 | 67 53 74 72 28 22 5c 70 |....Debu|gStr("\p|
|00002e40| 54 72 69 65 64 20 74 6f | 20 72 65 61 6c 6c 6f 63 |Tried to| realloc|
|00002e50| 20 61 20 62 61 64 2f 73 | 74 6f 6d 70 65 64 20 62 | a bad/s|tomped b|
|00002e60| 6c 6f 63 6b 20 31 22 29 | 3b 0d 09 09 7d 0d 23 65 |lock 1")|;...}.#e|
|00002e70| 6e 64 69 66 20 2f 2f 20 | 55 53 45 5f 4d 45 4d 54 |ndif // |USE_MEMT|
|00002e80| 41 47 53 0d 0d 23 69 66 | 20 55 53 45 5f 4e 41 54 |AGS..#if| USE_NAT|
|00002e90| 49 56 45 5f 4d 41 4c 4c | 4f 43 0d 0d 20 23 69 66 |IVE_MALL|OC.. #if|
|00002ea0| 20 55 53 45 5f 4d 45 4d | 48 41 4e 44 4c 45 53 0d | USE_MEM|HANDLES.|
|00002eb0| 09 09 2f 2f 20 67 65 74 | 20 70 72 65 76 69 6f 75 |..// get| previou|
|00002ec0| 73 20 73 69 7a 65 20 66 | 6f 72 20 73 68 72 69 6e |s size f|or shrin|
|00002ed0| 6b 2f 67 72 6f 77 20 63 | 68 65 63 6b 0d 09 09 6f |k/grow c|heck...o|
|00002ee0| 6c 64 73 69 7a 65 20 3d | 20 47 65 74 48 61 6e 64 |ldsize =| GetHand|
|00002ef0| 6c 65 53 69 7a 65 28 52 | 65 63 6f 76 65 72 48 61 |leSize(R|ecoverHa|
|00002f00| 6e 64 6c 65 28 70 29 29 | 3b 0d 09 09 2f 2f 20 61 |ndle(p))|;...// a|
|00002f10| 6c 6c 6f 63 61 74 65 20 | 6e 65 77 20 73 70 61 63 |llocate |new spac|
|00002f20| 65 2e 2e 2e 20 75 73 65 | 20 6c 6f 63 6b 65 64 20 |e... use| locked |
|00002f30| 68 61 6e 64 6c 65 73 0d | 09 09 6d 79 68 64 6c 20 |handles.|..myhdl |
|00002f40| 3d 20 28 50 74 72 29 4e | 65 77 48 61 6e 64 6c 65 |= (Ptr)N|ewHandle|
|00002f50| 28 6e 65 77 73 69 7a 65 | 29 3b 0d 20 23 65 6c 73 |(newsize|);. #els|
|00002f60| 65 0d 09 09 2f 2f 20 67 | 65 74 20 70 72 65 76 69 |e...// g|et previ|
|00002f70| 6f 75 73 20 73 69 7a 65 | 20 66 6f 72 20 73 68 72 |ous size| for shr|
|00002f80| 69 6e 6b 2f 67 72 6f 77 | 20 63 68 65 63 6b 0d 09 |ink/grow| check..|
|00002f90| 09 6f 6c 64 73 69 7a 65 | 20 3d 20 47 65 74 50 74 |.oldsize| = GetPt|
|00002fa0| 72 53 69 7a 65 28 70 29 | 3b 0d 09 09 2f 2f 20 61 |rSize(p)|;...// a|
|00002fb0| 6c 6c 6f 63 61 74 65 20 | 6e 65 77 20 73 70 61 63 |llocate |new spac|
|00002fc0| 65 2e 2e 2e 20 75 73 65 | 20 72 65 67 75 6c 61 72 |e... use| regular|
|00002fd0| 20 70 6f 69 6e 74 65 72 | 73 0d 09 09 6d 79 70 74 | pointer|s...mypt|
|00002fe0| 72 20 3d 20 4e 65 77 50 | 74 72 28 6e 65 77 73 69 |r = NewP|tr(newsi|
|00002ff0| 7a 65 29 3b 0d 20 23 65 | 6e 64 69 66 20 2f 2f 20 |ze);. #e|ndif // |
|00003000| 55 53 45 5f 4d 45 4d 48 | 41 4e 44 4c 45 53 0d 0d |USE_MEMH|ANDLES..|
|00003010| 09 09 69 66 20 28 6d 79 | 70 74 72 29 0d 09 09 7b |..if (my|ptr)...{|
|00003020| 0d 20 23 69 66 20 55 53 | 45 5f 4d 45 4d 48 41 4e |. #if US|E_MEMHAN|
|00003030| 44 4c 45 53 0d 09 09 09 | 4d 6f 76 65 48 48 69 28 |DLES....|MoveHHi(|
|00003040| 6d 79 70 74 72 29 3b 20 | 2f 2f 20 6d 6f 76 65 20 |myptr); |// move |
|00003050| 69 74 20 75 70 0d 09 09 | 09 48 4c 6f 63 6b 28 6d |it up...|.HLock(m|
|00003060| 79 70 74 72 29 3b 20 2f | 2f 20 61 6e 64 20 6c 6f |yptr); /|/ and lo|
|00003070| 63 6b 20 69 74 20 64 6f | 77 6e 0d 09 09 09 2f 2f |ck it do|wn....//|
|00003080| 20 69 74 27 73 20 72 65 | 61 6c 6c 79 20 61 20 68 | it's re|ally a h|
|00003090| 61 6e 64 6c 65 2c 20 74 | 75 72 6e 20 69 74 20 69 |andle, t|urn it i|
|000030a0| 6e 74 6f 20 61 20 70 6f | 69 6e 74 65 72 0d 09 09 |nto a po|inter...|
|000030b0| 09 6d 79 70 74 72 20 3d | 20 2a 28 48 61 6e 64 6c |.myptr =| *(Handl|
|000030c0| 65 29 6d 79 70 74 72 3b | 0d 20 23 65 6e 64 69 66 |e)myptr;|. #endif|
|000030d0| 20 2f 2f 20 55 53 45 5f | 4d 45 4d 48 41 4e 44 4c | // USE_|MEMHANDL|
|000030e0| 45 53 0d 20 0d 23 69 66 | 20 55 53 45 5f 4d 45 4d |ES. .#if| USE_MEM|
|000030f0| 54 41 47 53 0d 09 09 09 | 6f 6c 64 73 69 7a 65 20 |TAGS....|oldsize |
|00003100| 2d 3d 20 34 3b 20 2f 2f | 20 72 65 6d 6f 76 65 20 |-= 4; //| remove |
|00003110| 73 69 7a 65 20 6f 66 20 | 74 61 67 20 4d 41 4c 4c |size of |tag MALL|
|00003120| 4f 43 5f 54 41 47 2c 20 | 6a 75 73 74 20 63 6f 70 |OC_TAG, |just cop|
|00003130| 79 20 64 61 74 61 0d 09 | 09 09 6e 65 77 73 69 7a |y data..|..newsiz|
|00003140| 65 20 2d 3d 20 34 3b 20 | 2f 2f 20 72 65 6d 6f 76 |e -= 4; |// remov|
|00003150| 65 20 73 69 7a 65 20 6f | 66 20 74 61 67 20 4d 41 |e size o|f tag MA|
|00003160| 4c 4c 4f 43 5f 54 41 47 | 2c 20 6a 75 73 74 20 63 |LLOC_TAG|, just c|
|00003170| 6f 70 79 20 64 61 74 61 | 0d 23 65 6e 64 69 66 0d |opy data|.#endif.|
|00003180| 09 09 09 2f 2f 20 63 6f | 70 79 20 6f 6c 64 20 63 |...// co|py old c|
|00003190| 6f 6e 74 65 6e 74 73 20 | 69 6e 74 6f 20 6e 65 77 |ontents |into new|
|000031a0| 20 73 70 61 63 65 20 28 | 74 72 69 6d 20 69 66 20 | space (|trim if |
|000031b0| 6c 65 73 73 20 73 70 61 | 63 65 29 0d 09 09 09 42 |less spa|ce)....B|
|000031c0| 6c 6f 63 6b 4d 6f 76 65 | 28 70 2c 20 6d 79 70 74 |lockMove|(p, mypt|
|000031d0| 72 2c 20 28 6f 6c 64 73 | 69 7a 65 3c 6e 65 77 73 |r, (olds|ize<news|
|000031e0| 69 7a 65 29 3f 6f 6c 64 | 73 69 7a 65 3a 6e 65 77 |ize)?old|size:new|
|000031f0| 73 69 7a 65 29 3b 0d 0d | 09 09 09 2f 2f 20 6e 6f |size);..|...// no|
|00003200| 77 20 72 65 6c 65 61 73 | 65 20 6f 6c 64 20 6d 65 |w releas|e old me|
|00003210| 6d 6f 72 79 2e 2e 2e 0d | 09 09 09 50 4f 56 5f 66 |mory....|...POV_f|
|00003220| 72 65 65 28 70 29 3b 0d | 09 09 7d 0d 23 65 6c 73 |ree(p);.|..}.#els|
|00003230| 65 0d 09 09 2f 2f 20 64 | 6f 20 74 68 65 20 41 4e |e...// d|o the AN|
|00003240| 53 49 20 74 68 69 6e 67 | 0d 09 09 6d 79 70 74 72 |SI thing|...myptr|
|00003250| 20 3d 20 72 65 61 6c 6c | 6f 63 28 70 2c 20 6e 65 | = reall|oc(p, ne|
|00003260| 77 73 69 7a 65 29 3b 0d | 23 65 6e 64 69 66 20 2f |wsize);.|#endif /|
|00003270| 2f 20 55 53 45 5f 4e 41 | 54 49 56 45 5f 4d 41 4c |/ USE_NA|TIVE_MAL|
|00003280| 4c 4f 43 0d 0d 09 09 69 | 66 20 28 6d 79 70 74 72 |LOC....i|f (myptr|
|00003290| 29 0d 09 09 7b 20 2f 2f | 20 73 75 63 63 65 73 73 |)...{ //| success|
|000032a0| 66 75 6c 6c 79 20 72 65 | 2d 61 6c 6c 6f 63 61 74 |fully re|-allocat|
|000032b0| 65 64 20 69 74 0d 23 69 | 66 20 55 53 45 5f 4d 45 |ed it.#i|f USE_ME|
|000032c0| 4d 54 41 47 53 0d 09 09 | 09 2a 28 6c 6f 6e 67 2a |MTAGS...|.*(long*|
|000032d0| 29 6d 79 70 74 72 20 3d | 20 4d 41 4c 4c 4f 43 5f |)myptr =| MALLOC_|
|000032e0| 54 41 47 3b 0d 09 09 09 | 6d 79 70 74 72 20 3d 20 |TAG;....|myptr = |
|000032f0| 28 76 6f 69 64 2a 29 28 | 28 28 6c 6f 6e 67 29 6d |(void*)(|((long)m|
|00003300| 79 70 74 72 29 2b 34 4c | 29 3b 20 2f 2f 20 70 6f |yptr)+4L|); // po|
|00003310| 69 6e 74 20 62 65 79 6f | 6e 64 20 74 61 67 0d 23 |int beyo|nd tag.#|
|00003320| 65 6e 64 69 66 20 2f 2f | 20 55 53 45 5f 4d 45 4d |endif //| USE_MEM|
|00003330| 54 41 47 53 0d 0d 09 09 | 09 69 66 20 28 67 44 6f |TAGS....|.if (gDo|
|00003340| 4d 65 6d 54 72 61 63 6b | 69 6e 67 29 0d 09 09 09 |MemTrack|ing)....|
|00003350| 7b 20 20 2f 2f 20 72 65 | 6d 65 6d 62 65 72 20 74 |{ // re|member t|
|00003360| 68 69 73 20 6e 65 77 20 | 70 6f 69 6e 74 65 72 20 |his new |pointer |
|00003370| 66 6f 72 20 61 75 74 6f | 2d 64 69 73 70 6f 73 69 |for auto|-disposi|
|00003380| 6e 67 20 6c 61 74 65 72 | 0d 09 09 09 09 67 4d 61 |ng later|.....gMa|
|00003390| 6c 6c 6f 63 4c 69 73 74 | 5b 67 4d 61 6c 6c 6f 63 |llocList|[gMalloc|
|000033a0| 4c 69 73 74 43 6f 75 6e | 74 5d 20 3d 20 6d 79 70 |ListCoun|t] = myp|
|000033b0| 74 72 3b 0d 09 09 09 09 | 69 66 20 28 67 4d 61 6c |tr;.....|if (gMal|
|000033c0| 6c 6f 63 4c 69 73 74 43 | 6f 75 6e 74 20 3c 20 67 |locListC|ount < g|
|000033d0| 4d 61 6c 6c 6f 63 4c 69 | 73 74 53 69 7a 65 29 0d |MallocLi|stSize).|
|000033e0| 09 09 09 09 09 67 4d 61 | 6c 6c 6f 63 4c 69 73 74 |.....gMa|llocList|
|000033f0| 43 6f 75 6e 74 2b 2b 3b | 0d 09 09 09 09 65 6c 73 |Count++;|.....els|
|00003400| 65 0d 09 09 09 09 09 67 | 45 73 63 61 70 65 64 4d |e......g|EscapedM|
|00003410| 61 6c 6c 6f 63 73 43 6f | 75 6e 74 2b 2b 3b 20 2f |allocsCo|unt++; /|
|00003420| 2f 20 6f 6f 70 73 2c 20 | 6f 76 65 72 66 6c 6f 77 |/ oops, |overflow|
|00003430| 2c 20 6f 6e 65 20 67 6f | 74 20 61 77 61 79 21 0d |, one go|t away!.|
|00003440| 09 09 09 7d 0d 09 09 7d | 0d 09 7d 0d 0d 09 2f 2f |...}...}|..}...//|
|00003450| 20 61 6c 6c 6f 63 61 74 | 69 6f 6e 20 77 61 73 20 | allocat|ion was |
|00003460| 75 6e 73 75 63 63 65 73 | 73 66 75 6c 0d 09 69 66 |unsucces|sful..if|
|00003470| 20 28 6d 79 70 74 72 20 | 3d 3d 20 4e 55 4c 4c 29 | (myptr |== NULL)|
|00003480| 0d 09 09 48 61 6e 64 6c | 65 4f 75 74 4f 66 4d 65 |...Handl|eOutOfMe|
|00003490| 6d 28 29 3b 0d 0d 09 72 | 65 74 75 72 6e 20 6d 79 |m();...r|eturn my|
|000034a0| 70 74 72 3b 0d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ptr;.---|--------|
|000034b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000034c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 2a 2f 0d 7d 20 2f |--------|-.*/.} /|
|000034d0| 2f 20 50 4f 56 5f 72 65 | 61 6c 6c 6f 63 0d 0d 0d |/ POV_re|alloc...|
|000034e0| 2f 2f 20 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |// =====|========|
|000034f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003500| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003510| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003520| 3d 3d 3d 3d 3d 3d 3d 3d | 0d 76 6f 69 64 20 50 4f |========|.void PO|
|00003530| 56 5f 66 72 65 65 28 76 | 6f 69 64 20 2a 6d 79 70 |V_free(v|oid *myp|
|00003540| 74 72 29 0d 7b 0d 23 69 | 66 20 55 53 45 5f 4d 45 |tr).{.#i|f USE_ME|
|00003550| 4d 48 41 4e 44 4c 45 53 | 0d 20 09 48 61 6e 64 6c |MHANDLES|. .Handl|
|00003560| 65 09 09 6d 79 68 64 6c | 20 3d 20 4e 55 4c 4c 3b |e..myhdl| = NULL;|
|00003570| 0d 23 65 6e 64 69 66 20 | 2f 2f 20 55 53 45 5f 4d |.#endif |// USE_M|
|00003580| 45 4d 48 41 4e 44 4c 45 | 53 0d 20 0d 09 69 66 20 |EMHANDLE|S. ..if |
|00003590| 28 6d 79 70 74 72 20 3d | 3d 20 4e 55 4c 4c 29 0d |(myptr =|= NULL).|
|000035a0| 09 7b 0d 09 09 70 72 69 | 6e 74 66 28 22 23 23 20 |.{...pri|ntf("## |
|000035b0| 57 61 72 6e 69 6e 67 21 | 20 49 67 6e 6f 72 69 6e |Warning!| Ignorin|
|000035c0| 67 20 61 6e 20 61 74 74 | 65 6d 70 74 20 74 6f 20 |g an att|empt to |
|000035d0| 66 72 65 65 20 61 20 6e | 69 6c 20 70 6f 69 6e 74 |free a n|il point|
|000035e0| 65 72 21 5c 6e 22 29 3b | 0d 23 69 66 20 55 53 45 |er!\n");|.#if USE|
|000035f0| 5f 4d 45 4d 54 41 47 53 | 0d 09 09 44 65 62 75 67 |_MEMTAGS|...Debug|
|00003600| 53 74 72 28 22 5c 70 54 | 72 69 65 64 20 74 6f 20 |Str("\pT|ried to |
|00003610| 66 72 65 65 20 61 20 6e | 69 6c 20 70 6f 69 6e 74 |free a n|il point|
|00003620| 65 72 22 29 3b 0d 23 65 | 6e 64 69 66 20 2f 2f 20 |er");.#e|ndif // |
|00003630| 55 53 45 5f 4d 45 4d 54 | 41 47 53 0d 09 7d 0d 09 |USE_MEMT|AGS..}..|
|00003640| 65 6c 73 65 0d 09 7b 0d | 0d 23 69 66 20 55 53 45 |else..{.|.#if USE|
|00003650| 5f 4d 45 4d 54 41 47 53 | 0d 09 09 6d 79 70 74 72 |_MEMTAGS|...myptr|
|00003660| 20 3d 20 28 76 6f 69 64 | 2a 29 28 28 28 6c 6f 6e | = (void|*)(((lon|
|00003670| 67 29 6d 79 70 74 72 29 | 2d 34 4c 29 3b 20 2f 2f |g)myptr)|-4L); //|
|00003680| 20 62 61 63 6b 20 75 70 | 20 74 6f 20 74 61 67 0d | back up| to tag.|
|00003690| 09 09 69 66 20 28 2a 28 | 6c 6f 6e 67 2a 29 6d 79 |..if (*(|long*)my|
|000036a0| 70 74 72 20 21 3d 20 4d | 41 4c 4c 4f 43 5f 54 41 |ptr != M|ALLOC_TA|
|000036b0| 47 29 0d 09 09 7b 0d 09 | 09 09 70 72 69 6e 74 66 |G)...{..|..printf|
|000036c0| 28 22 23 23 20 45 72 72 | 6f 72 21 20 20 54 72 69 |("## Err|or! Tri|
|000036d0| 65 64 20 74 6f 20 66 72 | 65 65 20 61 20 62 61 64 |ed to fr|ee a bad|
|000036e0| 2f 73 74 6f 6d 70 65 64 | 20 62 6c 6f 63 6b 21 20 |/stomped| block! |
|000036f0| 28 24 25 6c 78 29 5c 6e | 22 2c 6d 79 70 74 72 29 |($%lx)\n|",myptr)|
|00003700| 3b 0d 09 09 09 44 65 62 | 75 67 53 74 72 28 22 5c |;....Deb|ugStr("\|
|00003710| 70 54 72 69 65 64 20 74 | 6f 20 66 72 65 65 20 61 |pTried t|o free a|
|00003720| 20 62 61 64 2f 73 74 6f | 6d 70 65 64 20 62 6c 6f | bad/sto|mped blo|
|00003730| 63 6b 20 31 22 29 3b 0d | 09 09 7d 0d 23 65 6e 64 |ck 1");.|..}.#end|
|00003740| 69 66 20 2f 2f 20 55 53 | 45 5f 4d 45 4d 54 41 47 |if // US|E_MEMTAG|
|00003750| 53 0d 0d 23 69 66 20 4d | 41 4c 4c 4f 43 5f 54 52 |S..#if M|ALLOC_TR|
|00003760| 41 43 45 0d 09 09 6d 79 | 70 74 72 20 3d 20 28 76 |ACE...my|ptr = (v|
|00003770| 6f 69 64 2a 29 28 28 28 | 6c 6f 6e 67 29 6d 79 70 |oid*)(((|long)myp|
|00003780| 74 72 29 2d 33 32 4c 29 | 3b 20 2f 2f 20 62 61 63 |tr)-32L)|; // bac|
|00003790| 6b 20 75 70 20 6f 76 65 | 72 20 66 69 6c 65 20 6e |k up ove|r file n|
|000037a0| 61 6d 65 2f 6c 69 6e 65 | 20 23 0d 23 65 6e 64 69 |ame/line| #.#endi|
|000037b0| 66 20 2f 2f 20 4d 41 4c | 4c 4f 43 5f 54 52 41 43 |f // MAL|LOC_TRAC|
|000037c0| 45 0d 0d 23 69 66 20 55 | 53 45 5f 4e 41 54 49 56 |E..#if U|SE_NATIV|
|000037d0| 45 5f 4d 41 4c 4c 4f 43 | 0d 20 23 69 66 20 55 53 |E_MALLOC|. #if US|
|000037e0| 45 5f 4d 45 4d 48 41 4e | 44 4c 45 53 0d 09 09 2f |E_MEMHAN|DLES.../|
|000037f0| 2f 20 75 73 65 20 4d 61 | 63 20 6c 6f 63 6b 65 64 |/ use Ma|c locked|
|00003800| 20 68 61 6e 64 6c 65 73 | 0d 09 09 6d 79 68 64 6c | handles|...myhdl|
|00003810| 20 3d 20 52 65 63 6f 76 | 65 72 48 61 6e 64 6c 65 | = Recov|erHandle|
|00003820| 28 6d 79 70 74 72 29 3b | 0d 09 09 69 66 20 28 6d |(myptr);|...if (m|
|00003830| 79 68 64 6c 29 0d 09 09 | 09 44 69 73 70 6f 73 65 |yhdl)...|.Dispose|
|00003840| 48 61 6e 64 6c 65 28 6d | 79 68 64 6c 29 3b 0d 09 |Handle(m|yhdl);..|
|00003850| 09 65 6c 73 65 0d 09 09 | 7b 0d 09 09 09 70 72 69 |.else...|{....pri|
|00003860| 6e 74 66 28 22 23 23 20 | 45 72 72 6f 72 20 25 64 |ntf("## |Error %d|
|00003870| 21 20 20 43 61 6e 6e 6f | 74 20 72 65 63 6f 76 65 |! Canno|t recove|
|00003880| 72 20 68 61 6e 64 6c 65 | 20 66 72 6f 6d 20 70 74 |r handle| from pt|
|00003890| 72 21 20 28 24 25 6c 78 | 29 5c 6e 22 2c 0d 09 09 |r! ($%lx|)\n",...|
|000038a0| 09 09 09 4d 65 6d 45 72 | 72 6f 72 28 29 2c 20 6d |...MemEr|ror(), m|
|000038b0| 79 70 74 72 29 3b 0d 20 | 20 23 69 66 20 55 53 45 |yptr);. | #if USE|
|000038c0| 5f 4d 45 4d 54 41 47 53 | 0d 09 09 09 44 65 62 75 |_MEMTAGS|....Debu|
|000038d0| 67 53 74 72 28 22 5c 70 | 43 61 6e 6e 6f 74 20 72 |gStr("\p|Cannot r|
|000038e0| 65 63 6f 76 65 72 20 68 | 61 6e 64 6c 65 20 66 72 |ecover h|andle fr|
|000038f0| 6f 6d 20 70 74 72 22 29 | 3b 0d 20 20 23 65 6e 64 |om ptr")|;. #end|
|00003900| 69 66 20 2f 2f 20 55 53 | 45 5f 4d 45 4d 54 41 47 |if // US|E_MEMTAG|
|00003910| 53 0d 09 09 7d 0d 20 23 | 65 6c 73 65 0d 09 09 2f |S...}. #|else.../|
|00003920| 2f 20 75 73 65 20 72 65 | 67 75 6c 61 72 20 4d 61 |/ use re|gular Ma|
|00003930| 63 20 70 6f 69 6e 74 65 | 72 73 0d 09 09 44 69 73 |c pointe|rs...Dis|
|00003940| 70 6f 73 65 50 74 72 28 | 6d 79 70 74 72 29 3b 0d |posePtr(|myptr);.|
|00003950| 20 23 65 6e 64 69 66 20 | 2f 2f 20 55 53 45 5f 4d | #endif |// USE_M|
|00003960| 45 4d 48 41 4e 44 4c 45 | 53 0d 23 65 6c 73 65 0d |EMHANDLE|S.#else.|
|00003970| 09 09 2f 2f 20 54 68 65 | 20 53 74 64 20 43 20 6c |..// The| Std C l|
|00003980| 69 62 72 61 72 79 20 77 | 61 79 2e 2e 2e 0d 09 09 |ibrary w|ay......|
|00003990| 66 72 65 65 28 6d 79 70 | 74 72 29 3b 0d 23 65 6e |free(myp|tr);.#en|
|000039a0| 64 69 66 20 2f 2f 20 55 | 53 45 5f 4e 41 54 49 56 |dif // U|SE_NATIV|
|000039b0| 45 5f 4d 41 4c 4c 4f 43 | 0d 0d 09 09 2f 2f 20 72 |E_MALLOC|....// r|
|000039c0| 65 6d 65 6d 62 65 72 20 | 74 68 61 74 20 74 68 69 |emember |that thi|
|000039d0| 73 20 67 75 79 20 77 61 | 73 20 66 72 65 65 64 20 |s guy wa|s freed |
|000039e0| 66 6f 72 20 6c 61 74 65 | 72 0d 09 09 2f 2f 20 28 |for late|r...// (|
|000039f0| 69 66 20 77 65 27 72 65 | 20 74 72 61 63 6b 69 6e |if we're| trackin|
|00003a00| 67 2c 20 61 6e 64 20 6e | 6f 74 20 69 6e 20 74 68 |g, and n|ot in th|
|00003a10| 65 20 6d 69 64 64 6c 65 | 20 6f 66 20 72 65 63 6c |e middle| of recl|
|00003a20| 61 69 6d 69 6e 67 29 0d | 09 09 69 66 20 28 67 44 |aiming).|..if (gD|
|00003a30| 6f 4d 65 6d 54 72 61 63 | 6b 69 6e 67 20 26 26 20 |oMemTrac|king && |
|00003a40| 21 67 52 65 63 6c 61 69 | 6d 69 6e 67 29 0d 09 09 |!gReclai|ming)...|
|00003a50| 7b 0d 23 69 66 20 4d 41 | 4c 4c 4f 43 5f 54 52 41 |{.#if MA|LLOC_TRA|
|00003a60| 43 45 0d 09 09 09 2f 2f | 20 70 6f 69 6e 74 20 62 |CE....//| point b|
|00003a70| 65 79 6f 6e 64 20 66 6e | 61 6d 65 20 61 67 61 69 |eyond fn|ame agai|
|00003a80| 6e 2c 20 73 6f 20 74 68 | 61 74 20 67 4d 61 6c 6c |n, so th|at gMall|
|00003a90| 6f 63 4c 69 73 74 20 26 | 20 67 46 72 65 65 4c 69 |ocList &| gFreeLi|
|00003aa0| 73 74 20 6d 61 74 63 68 | 21 0d 09 09 09 6d 79 70 |st match|!....myp|
|00003ab0| 74 72 20 3d 20 28 76 6f | 69 64 2a 29 28 28 28 6c |tr = (vo|id*)(((l|
|00003ac0| 6f 6e 67 29 6d 79 70 74 | 72 29 2b 33 32 4c 29 3b |ong)mypt|r)+32L);|
|00003ad0| 0d 23 65 6e 64 69 66 20 | 2f 2f 20 4d 41 4c 4c 4f |.#endif |// MALLO|
|00003ae0| 43 5f 54 52 41 43 45 0d | 0d 23 69 66 20 55 53 45 |C_TRACE.|.#if USE|
|00003af0| 5f 4d 45 4d 54 41 47 53 | 0d 09 09 09 2f 2f 20 70 |_MEMTAGS|....// p|
|00003b00| 6f 69 6e 74 20 62 65 79 | 6f 6e 64 20 74 61 67 20 |oint bey|ond tag |
|00003b10| 61 67 61 69 6e 2c 20 73 | 6f 20 74 68 61 74 20 67 |again, s|o that g|
|00003b20| 4d 61 6c 6c 6f 63 4c 69 | 73 74 20 26 20 67 46 72 |MallocLi|st & gFr|
|00003b30| 65 65 4c 69 73 74 20 6d | 61 74 63 68 21 0d 09 09 |eeList m|atch!...|
|00003b40| 09 6d 79 70 74 72 20 3d | 20 28 76 6f 69 64 2a 29 |.myptr =| (void*)|
|00003b50| 28 28 28 6c 6f 6e 67 29 | 6d 79 70 74 72 29 2b 34 |(((long)|myptr)+4|
|00003b60| 4c 29 3b 0d 23 65 6e 64 | 69 66 20 2f 2f 20 55 53 |L);.#end|if // US|
|00003b70| 45 5f 4d 45 4d 54 41 47 | 53 0d 23 69 66 20 55 53 |E_MEMTAG|S.#if US|
|00003b80| 45 5f 4d 45 4d 48 41 4e | 44 4c 45 53 0d 09 09 09 |E_MEMHAN|DLES....|
|00003b90| 67 46 72 65 65 4c 69 73 | 74 5b 67 46 72 65 65 4c |gFreeLis|t[gFreeL|
|00003ba0| 69 73 74 43 6f 75 6e 74 | 5d 20 3d 20 28 50 74 72 |istCount|] = (Ptr|
|00003bb0| 29 6d 79 68 64 6c 3b 0d | 23 65 6c 73 65 0d 09 09 |)myhdl;.|#else...|
|00003bc0| 09 67 46 72 65 65 4c 69 | 73 74 5b 67 46 72 65 65 |.gFreeLi|st[gFree|
|00003bd0| 4c 69 73 74 43 6f 75 6e | 74 5d 20 3d 20 6d 79 70 |ListCoun|t] = myp|
|00003be0| 74 72 3b 0d 23 65 6e 64 | 69 66 20 2f 2f 20 55 53 |tr;.#end|if // US|
|00003bf0| 45 5f 4d 45 4d 48 41 4e | 44 4c 45 53 0d 09 09 09 |E_MEMHAN|DLES....|
|00003c00| 69 66 20 28 67 46 72 65 | 65 4c 69 73 74 43 6f 75 |if (gFre|eListCou|
|00003c10| 6e 74 20 3c 20 67 4d 61 | 6c 6c 6f 63 4c 69 73 74 |nt < gMa|llocList|
|00003c20| 53 69 7a 65 29 0d 09 09 | 09 09 67 46 72 65 65 4c |Size)...|..gFreeL|
|00003c30| 69 73 74 43 6f 75 6e 74 | 2b 2b 3b 0d 09 09 7d 0d |istCount|++;...}.|
|00003c40| 09 7d 0d 7d 20 2f 2f 20 | 50 4f 56 5f 66 72 65 65 |.}.} // |POV_free|
|00003c50| 0d 0d 0d 2f 2f 20 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |...// ==|========|
|00003c60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003c70| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003c80| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003c90| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 0d 42 6f 6f 6c |========|===.Bool|
|00003ca0| 65 61 6e 20 50 4f 56 5f | 6e 65 65 64 5f 74 6f 5f |ean POV_|need_to_|
|00003cb0| 72 65 63 6c 61 69 6d 28 | 76 6f 69 64 29 0d 7b 0d |reclaim(|void).{.|
|00003cc0| 09 72 65 74 75 72 6e 20 | 28 67 4d 61 6c 6c 6f 63 |.return |(gMalloc|
|00003cd0| 4c 69 73 74 43 6f 75 6e | 74 20 3e 20 30 29 3b 0d |ListCoun|t > 0);.|
|00003ce0| 7d 20 2f 2f 20 50 4f 56 | 5f 6e 65 65 64 5f 74 6f |} // POV|_need_to|
|00003cf0| 5f 72 65 63 6c 61 69 6d | 0d 0d 0d 2f 2f 20 3d 3d |_reclaim|...// ==|
|00003d00| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003d10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003d20| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003d30| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003d40| 3d 3d 3d 0d 76 6f 69 64 | 20 50 4f 56 5f 72 65 63 |===.void| POV_rec|
|00003d50| 6c 61 69 6d 28 42 6f 6f | 6c 65 61 6e 20 42 65 56 |laim(Boo|lean BeV|
|00003d60| 65 72 62 6f 73 65 2c 20 | 44 69 61 6c 6f 67 50 74 |erbose, |DialogPt|
|00003d70| 72 20 70 72 6f 67 72 65 | 73 73 44 69 61 6c 6f 67 |r progre|ssDialog|
|00003d80| 50 74 72 29 0d 7b 0d 09 | 72 65 67 69 73 74 65 72 |Ptr).{..|register|
|00003d90| 20 50 74 72 09 2a 74 68 | 65 4d 61 6c 6c 6f 63 4c | Ptr.*th|eMallocL|
|00003da0| 69 73 74 50 74 72 3b 0d | 09 72 65 67 69 73 74 65 |istPtr;.|.registe|
|00003db0| 72 20 50 74 72 09 2a 74 | 68 65 46 72 65 65 64 4c |r Ptr.*t|heFreedL|
|00003dc0| 69 73 74 50 74 72 3b 0d | 09 72 65 67 69 73 74 65 |istPtr;.|.registe|
|00003dd0| 72 20 6c 6f 6e 67 20 09 | 69 2c 6a 3b 0d 09 6c 6f |r long .|i,j;..lo|
|00003de0| 6e 67 20 09 09 09 6d 69 | 6e 5f 69 6e 64 65 78 2c |ng ...mi|n_index,|
|00003df0| 20 6d 61 78 5f 69 6e 64 | 65 78 3b 0d 23 69 66 20 | max_ind|ex;.#if |
|00003e00| 4d 41 4c 4c 4f 43 5f 54 | 52 41 43 45 0d 09 46 49 |MALLOC_T|RACE..FI|
|00003e10| 4c 45 09 09 09 2a 6d 74 | 66 70 3b 0d 23 65 6e 64 |LE...*mt|fp;.#end|
|00003e20| 69 66 20 2f 2f 20 4d 41 | 4c 4c 4f 43 5f 54 52 41 |if // MA|LLOC_TRA|
|00003e30| 43 45 0d 0d 09 2f 2f 20 | 4c 65 74 20 65 76 65 72 |CE...// |Let ever|
|00003e40| 79 6f 6e 65 20 6b 6e 6f | 77 20 77 65 27 72 65 20 |yone kno|w we're |
|00003e50| 62 75 73 79 20 69 6e 20 | 72 65 63 6c 61 69 6d 69 |busy in |reclaimi|
|00003e60| 6e 67 20 6d 6f 64 65 0d | 09 67 52 65 63 6c 61 69 |ng mode.|.gReclai|
|00003e70| 6d 69 6e 67 20 3d 20 74 | 72 75 65 3b 0d 0d 09 2f |ming = t|rue;.../|
|00003e80| 2f 20 61 6e 79 74 68 69 | 6e 67 20 74 6f 20 64 6f |/ anythi|ng to do|
|00003e90| 3f 0d 09 69 66 20 28 67 | 4d 61 6c 6c 6f 63 4c 69 |?..if (g|MallocLi|
|00003ea0| 73 74 43 6f 75 6e 74 20 | 3e 20 30 29 0d 09 7b 09 |stCount |> 0)..{.|
|00003eb0| 09 0d 09 09 53 65 74 43 | 75 72 73 6f 72 28 2a 47 |....SetC|ursor(*G|
|00003ec0| 65 74 43 75 72 73 6f 72 | 28 77 61 74 63 68 43 75 |etCursor|(watchCu|
|00003ed0| 72 73 6f 72 29 29 3b 20 | 2f 2f 20 63 6f 75 6c 64 |rsor)); |// could|
|00003ee0| 20 74 61 6b 65 20 61 20 | 6c 69 74 74 6c 65 20 77 | take a |little w|
|00003ef0| 68 69 6c 65 2e 2e 0d 0d | 09 09 2f 2f 20 46 69 72 |hile....|..// Fir|
|00003f00| 73 74 2c 20 72 65 6d 6f | 76 65 20 61 6e 79 20 65 |st, remo|ve any e|
|00003f10| 6e 74 72 69 65 73 20 66 | 72 6f 6d 20 74 68 65 20 |ntries f|rom the |
|00003f20| 6d 61 6c 6c 6f 63 20 70 | 69 6c 65 20 69 66 20 61 |malloc p|ile if a|
|00003f30| 6c 72 65 61 64 79 20 66 | 72 65 65 64 2e 0d 09 09 |lready f|reed....|
|00003f40| 2f 2f 20 44 6f 20 74 68 | 69 73 20 62 79 20 73 63 |// Do th|is by sc|
|00003f50| 61 6e 6e 69 6e 67 20 74 | 68 65 20 66 72 65 65 64 |anning t|he freed|
|00003f60| 20 70 69 6c 65 2c 20 61 | 6e 64 20 69 66 20 61 6e | pile, a|nd if an|
|00003f70| 20 65 6e 74 72 79 20 6d | 61 74 63 68 65 73 20 6f | entry m|atches o|
|00003f80| 6e 65 0d 09 09 2f 2f 20 | 69 6e 20 6d 61 6c 6c 6f |ne...// |in mallo|
|00003f90| 63 20 70 69 6c 65 2c 20 | 64 65 6c 65 74 65 20 69 |c pile, |delete i|
|00003fa0| 74 2e 20 20 54 6f 20 68 | 65 6c 70 20 73 70 65 65 |t. To h|elp spee|
|00003fb0| 64 20 74 68 69 6e 67 73 | 20 75 70 2c 20 6b 65 65 |d things| up, kee|
|00003fc0| 70 20 74 72 61 63 6b 20 | 6f 66 0d 09 09 2f 2f 20 |p track |of...// |
|00003fd0| 74 68 65 20 6c 6f 77 65 | 73 74 20 61 6e 64 20 68 |the lowe|st and h|
|00003fe0| 69 67 68 65 73 74 20 76 | 61 6c 69 64 20 65 6e 74 |ighest v|alid ent|
|00003ff0| 72 69 65 73 20 69 6e 20 | 74 68 65 20 6d 61 6c 6c |ries in |the mall|
|00004000| 6f 63 20 6c 69 73 74 2c | 20 73 6f 20 77 65 20 64 |oc list,| so we d|
|00004010| 6f 6e 27 74 0d 09 09 2f | 2f 20 72 65 76 69 73 69 |on't.../|/ revisi|
|00004020| 74 20 74 68 65 6d 20 69 | 6e 20 74 68 65 20 69 6e |t them i|n the in|
|00004030| 6e 65 72 20 6c 6f 6f 70 | 20 28 6d 69 6e 5f 69 6e |ner loop| (min_in|
|00004040| 64 65 78 2c 20 6d 61 78 | 5f 69 6e 64 65 78 29 0d |dex, max|_index).|
|00004050| 09 09 69 66 20 28 67 46 | 72 65 65 4c 69 73 74 43 |..if (gF|reeListC|
|00004060| 6f 75 6e 74 20 3e 20 30 | 29 0d 09 09 7b 0d 09 09 |ount > 0|)...{...|
|00004070| 09 74 68 65 46 72 65 65 | 64 4c 69 73 74 50 74 72 |.theFree|dListPtr|
|00004080| 20 3d 20 67 46 72 65 65 | 4c 69 73 74 3b 0d 0d 09 | = gFree|List;...|
|00004090| 09 09 6d 69 6e 5f 69 6e | 64 65 78 20 3d 20 30 3b |..min_in|dex = 0;|
|000040a0| 0d 09 09 09 6d 61 78 5f | 69 6e 64 65 78 20 3d 20 |....max_|index = |
|000040b0| 67 4d 61 6c 6c 6f 63 4c | 69 73 74 43 6f 75 6e 74 |gMallocL|istCount|
|000040c0| 2d 31 3b 0d 09 09 09 2f | 2f 20 66 69 6e 64 20 73 |-1;..../|/ find s|
|000040d0| 74 61 72 74 69 6e 67 20 | 70 6f 69 6e 74 0d 09 09 |tarting |point...|
|000040e0| 09 74 68 65 4d 61 6c 6c | 6f 63 4c 69 73 74 50 74 |.theMall|ocListPt|
|000040f0| 72 20 3d 20 26 67 4d 61 | 6c 6c 6f 63 4c 69 73 74 |r = &gMa|llocList|
|00004100| 5b 6d 69 6e 5f 69 6e 64 | 65 78 5d 3b 0d 09 09 09 |[min_ind|ex];....|
|00004110| 77 68 69 6c 65 20 28 28 | 2a 74 68 65 4d 61 6c 6c |while ((|*theMall|
|00004120| 6f 63 4c 69 73 74 50 74 | 72 20 3d 3d 20 4e 55 4c |ocListPt|r == NUL|
|00004130| 4c 29 20 26 26 20 28 6d | 69 6e 5f 69 6e 64 65 78 |L) && (m|in_index|
|00004140| 20 3c 3d 20 6d 61 78 5f | 69 6e 64 65 78 29 29 0d | <= max_|index)).|
|00004150| 09 09 09 7b 0d 09 09 09 | 09 74 68 65 4d 61 6c 6c |...{....|.theMall|
|00004160| 6f 63 4c 69 73 74 50 74 | 72 2b 2b 3b 0d 09 09 09 |ocListPt|r++;....|
|00004170| 09 6d 69 6e 5f 69 6e 64 | 65 78 2b 2b 3b 0d 09 09 |.min_ind|ex++;...|
|00004180| 09 7d 0d 09 09 09 2f 2f | 20 66 69 6e 64 20 65 6e |.}....//| find en|
|00004190| 64 69 6e 67 20 70 6f 69 | 6e 74 0d 09 09 09 74 68 |ding poi|nt....th|
|000041a0| 65 4d 61 6c 6c 6f 63 4c | 69 73 74 50 74 72 20 3d |eMallocL|istPtr =|
|000041b0| 20 26 67 4d 61 6c 6c 6f | 63 4c 69 73 74 5b 6d 61 | &gMallo|cList[ma|
|000041c0| 78 5f 69 6e 64 65 78 5d | 3b 0d 09 09 09 77 68 69 |x_index]|;....whi|
|000041d0| 6c 65 20 28 28 2a 74 68 | 65 4d 61 6c 6c 6f 63 4c |le ((*th|eMallocL|
|000041e0| 69 73 74 50 74 72 20 3d | 3d 20 4e 55 4c 4c 29 20 |istPtr =|= NULL) |
|000041f0| 26 26 20 28 6d 61 78 5f | 69 6e 64 65 78 20 3e 20 |&& (max_|index > |
|00004200| 6d 69 6e 5f 69 6e 64 65 | 78 29 29 0d 09 09 09 7b |min_inde|x))....{|
|00004210| 0d 09 09 09 09 74 68 65 | 4d 61 6c 6c 6f 63 4c 69 |.....the|MallocLi|
|00004220| 73 74 50 74 72 2d 2d 3b | 0d 09 09 09 09 6d 61 78 |stPtr--;|.....max|
|00004230| 5f 69 6e 64 65 78 2d 2d | 3b 0d 09 09 09 7d 0d 0d |_index--|;....}..|
|00004240| 2f 2f 20 70 72 69 6e 74 | 66 28 22 23 23 20 44 45 |// print|f("## DE|
|00004250| 42 55 47 3b 20 6d 69 6e | 3d 25 6c 64 20 20 6d 61 |BUG; min|=%ld ma|
|00004260| 78 3d 25 6c 64 20 74 6f | 74 61 6c 3d 25 6c 64 5c |x=%ld to|tal=%ld\|
|00004270| 6e 22 2c 6d 69 6e 5f 69 | 6e 64 65 78 2c 6d 61 78 |n",min_i|ndex,max|
|00004280| 5f 69 6e 64 65 78 2c 67 | 4d 61 6c 6c 6f 63 4c 69 |_index,g|MallocLi|
|00004290| 73 74 43 6f 75 6e 74 29 | 3b 20 2f 2f 20 64 65 62 |stCount)|; // deb|
|000042a0| 75 67 0d 0d 09 09 09 66 | 6f 72 20 28 69 3d 30 3b |ug.....f|or (i=0;|
|000042b0| 20 69 3c 67 46 72 65 65 | 4c 69 73 74 43 6f 75 6e | i<gFree|ListCoun|
|000042c0| 74 3b 20 69 2b 2b 2c 20 | 74 68 65 46 72 65 65 64 |t; i++, |theFreed|
|000042d0| 4c 69 73 74 50 74 72 2b | 2b 29 0d 09 09 09 7b 0d |ListPtr+|+)....{.|
|000042e0| 09 09 09 09 2f 2f 20 55 | 70 64 61 74 65 20 74 68 |....// U|pdate th|
|000042f0| 65 20 70 72 6f 67 72 65 | 73 73 20 62 61 72 20 6f |e progre|ss bar o|
|00004300| 6e 6c 79 20 6f 63 63 61 | 73 69 6f 6e 61 6c 6c 79 |nly occa|sionally|
|00004310| 20 28 65 76 65 72 79 20 | 33 32 20 6c 6f 6f 70 73 | (every |32 loops|
|00004320| 29 0d 09 09 09 09 69 66 | 20 28 20 70 72 6f 67 72 |).....if| ( progr|
|00004330| 65 73 73 44 69 61 6c 6f | 67 50 74 72 20 26 26 20 |essDialo|gPtr && |
|00004340| 21 28 69 20 26 20 33 31 | 29 20 29 0d 09 09 09 09 |!(i & 31|) ).....|
|00004350| 7b 0d 09 09 09 09 09 2f | 2f 20 67 6f 20 74 6f 20 |{....../|/ go to |
|00004360| 74 68 65 20 31 2f 32 20 | 77 61 79 20 6d 61 72 6b |the 1/2 |way mark|
|00004370| 20 69 6e 20 74 68 69 73 | 20 6c 6f 6f 70 0d 09 09 | in this| loop...|
|00004380| 09 09 09 75 70 64 61 74 | 65 50 72 6f 67 72 65 73 |...updat|eProgres|
|00004390| 73 44 69 61 6c 6f 67 28 | 70 72 6f 67 72 65 73 73 |sDialog(|progress|
|000043a0| 44 69 61 6c 6f 67 50 74 | 72 2c 20 30 2c 20 67 46 |DialogPt|r, 0, gF|
|000043b0| 72 65 65 4c 69 73 74 43 | 6f 75 6e 74 2c 20 69 3e |reeListC|ount, i>|
|000043c0| 3e 31 29 3b 0d 09 09 09 | 09 7d 0d 0d 09 09 09 09 |>1);....|.}......|
|000043d0| 2f 2f 20 63 68 65 63 6b | 20 74 68 69 73 20 66 72 |// check| this fr|
|000043e0| 65 65 64 20 70 6f 69 6e | 74 65 72 20 61 67 61 69 |eed poin|ter agai|
|000043f0| 6e 73 74 20 74 68 65 20 | 6d 61 6c 6c 6f 63 20 6c |nst the |malloc l|
|00004400| 69 73 74 0d 09 09 09 09 | 74 68 65 4d 61 6c 6c 6f |ist.....|theMallo|
|00004410| 63 4c 69 73 74 50 74 72 | 20 3d 20 26 67 4d 61 6c |cListPtr| = &gMal|
|00004420| 6c 6f 63 4c 69 73 74 5b | 6d 69 6e 5f 69 6e 64 65 |locList[|min_inde|
|00004430| 78 5d 3b 0d 09 09 09 09 | 66 6f 72 20 28 6a 20 3d |x];.....|for (j =|
|00004440| 20 6d 69 6e 5f 69 6e 64 | 65 78 3b 20 6a 3c 3d 6d | min_ind|ex; j<=m|
|00004450| 61 78 5f 69 6e 64 65 78 | 3b 20 6a 2b 2b 2c 20 74 |ax_index|; j++, t|
|00004460| 68 65 4d 61 6c 6c 6f 63 | 4c 69 73 74 50 74 72 2b |heMalloc|ListPtr+|
|00004470| 2b 29 0d 09 09 09 09 7b | 0d 09 09 09 09 09 2f 2f |+).....{|......//|
|00004480| 20 69 73 20 74 68 65 72 | 65 20 61 20 6d 61 6c 6c | is ther|e a mall|
|00004490| 6f 63 20 65 6e 74 72 79 | 20 74 6f 20 63 68 65 63 |oc entry| to chec|
|000044a0| 6b 20 61 67 61 69 6e 73 | 74 3f 0d 09 09 09 09 09 |k agains|t?......|
|000044b0| 69 66 20 28 2a 74 68 65 | 4d 61 6c 6c 6f 63 4c 69 |if (*the|MallocLi|
|000044c0| 73 74 50 74 72 20 21 3d | 20 4e 55 4c 4c 29 0d 09 |stPtr !=| NULL)..|
|000044d0| 09 09 09 09 7b 0d 09 09 | 09 09 09 09 69 66 20 28 |....{...|....if (|
|000044e0| 2a 74 68 65 4d 61 6c 6c | 6f 63 4c 69 73 74 50 74 |*theMall|ocListPt|
|000044f0| 72 20 3d 3d 20 2a 74 68 | 65 46 72 65 65 64 4c 69 |r == *th|eFreedLi|
|00004500| 73 74 50 74 72 29 0d 09 | 09 09 09 09 09 7b 20 2f |stPtr)..|.....{ /|
|00004510| 2f 20 66 6f 75 6e 64 20 | 69 74 2c 20 72 65 6d 6f |/ found |it, remo|
|00004520| 76 65 20 66 72 6f 6d 20 | 6d 61 6c 6c 6f 63 20 70 |ve from |malloc p|
|00004530| 69 6c 65 0d 09 09 09 09 | 09 09 09 2a 74 68 65 4d |ile.....|...*theM|
|00004540| 61 6c 6c 6f 63 4c 69 73 | 74 50 74 72 20 3d 20 4e |allocLis|tPtr = N|
|00004550| 55 4c 4c 3b 0d 09 09 09 | 09 09 09 09 62 72 65 61 |ULL;....|....brea|
|00004560| 6b 3b 20 2f 2f 20 6f 75 | 74 20 6f 66 20 74 68 69 |k; // ou|t of thi|
|00004570| 73 20 66 6f 72 20 6c 6f | 6f 70 0d 09 09 09 09 09 |s for lo|op......|
|00004580| 09 7d 0d 09 09 09 09 09 | 7d 0d 09 09 09 09 7d 20 |.}......|}.....} |
|00004590| 2f 2f 20 66 6f 72 20 6a | 0d 09 09 09 7d 20 2f 2f |// for j|....} //|
|000045a0| 20 66 6f 72 20 69 0d 09 | 09 7d 0d 0d 23 69 66 20 | for i..|.}..#if |
|000045b0| 4d 41 4c 4c 4f 43 5f 54 | 52 41 43 45 0d 09 6d 74 |MALLOC_T|RACE..mt|
|000045c0| 66 70 20 3d 20 66 6f 70 | 65 6e 28 22 4d 61 6c 6c |fp = fop|en("Mall|
|000045d0| 6f 63 54 72 61 63 65 2e | 4f 75 74 22 2c 20 22 77 |ocTrace.|Out", "w|
|000045e0| 2b 22 29 3b 0d 09 66 70 | 72 69 6e 74 66 28 6d 74 |+");..fp|rintf(mt|
|000045f0| 66 70 2c 20 22 23 23 20 | 4c 65 66 74 6f 76 65 72 |fp, "## |Leftover|
|00004600| 20 75 6e 2d 66 72 65 65 | 64 20 6d 65 6d 6f 72 79 | un-free|d memory|
|00004610| 3a 5c 6e 22 29 3b 0d 23 | 65 6e 64 69 66 20 2f 2f |:\n");.#|endif //|
|00004620| 20 4d 41 4c 4c 4f 43 5f | 54 52 41 43 45 0d 0d 09 | MALLOC_|TRACE...|
|00004630| 09 2f 2f 20 66 72 65 65 | 20 77 68 61 74 65 76 65 |.// free| whateve|
|00004640| 72 20 69 73 20 6c 65 66 | 74 20 6f 76 65 72 20 69 |r is lef|t over i|
|00004650| 6e 20 74 68 65 20 6d 61 | 6c 6c 6f 63 20 6c 69 73 |n the ma|lloc lis|
|00004660| 74 0d 09 09 74 68 65 4d | 61 6c 6c 6f 63 4c 69 73 |t...theM|allocLis|
|00004670| 74 50 74 72 20 3d 20 26 | 67 4d 61 6c 6c 6f 63 4c |tPtr = &|gMallocL|
|00004680| 69 73 74 5b 6d 69 6e 5f | 69 6e 64 65 78 5d 3b 0d |ist[min_|index];.|
|00004690| 09 09 66 6f 72 20 28 69 | 3d 6d 69 6e 5f 69 6e 64 |..for (i|=min_ind|
|000046a0| 65 78 3b 20 69 3c 6d 61 | 78 5f 69 6e 64 65 78 3b |ex; i<ma|x_index;|
|000046b0| 20 69 2b 2b 2c 20 74 68 | 65 4d 61 6c 6c 6f 63 4c | i++, th|eMallocL|
|000046c0| 69 73 74 50 74 72 2b 2b | 29 0d 09 09 7b 0d 09 09 |istPtr++|)...{...|
|000046d0| 09 2f 2f 20 55 70 64 61 | 74 65 20 74 68 65 20 70 |.// Upda|te the p|
|000046e0| 72 6f 67 72 65 73 73 20 | 62 61 72 20 6f 6e 6c 79 |rogress |bar only|
|000046f0| 20 6f 63 63 61 73 69 6f | 6e 61 6c 6c 79 20 28 65 | occasio|nally (e|
|00004700| 76 65 72 79 20 33 32 20 | 6c 6f 6f 70 73 29 0d 09 |very 32 |loops)..|
|00004710| 09 09 69 66 20 28 20 70 | 72 6f 67 72 65 73 73 44 |..if ( p|rogressD|
|00004720| 69 61 6c 6f 67 50 74 72 | 20 26 26 20 21 28 69 20 |ialogPtr| && !(i |
|00004730| 26 20 33 31 29 20 29 0d | 09 09 09 7b 0d 09 09 09 |& 31) ).|...{....|
|00004740| 09 2f 2f 20 64 6f 20 74 | 68 65 20 6c 61 73 74 20 |.// do t|he last |
|00004750| 31 2f 32 20 69 6e 20 74 | 68 69 73 20 6c 6f 6f 70 |1/2 in t|his loop|
|00004760| 0d 09 09 09 09 75 70 64 | 61 74 65 50 72 6f 67 72 |.....upd|ateProgr|
|00004770| 65 73 73 44 69 61 6c 6f | 67 28 70 72 6f 67 72 65 |essDialo|g(progre|
|00004780| 73 73 44 69 61 6c 6f 67 | 50 74 72 2c 20 30 2c 20 |ssDialog|Ptr, 0, |
|00004790| 67 4d 61 6c 6c 6f 63 4c | 69 73 74 43 6f 75 6e 74 |gMallocL|istCount|
|000047a0| 2c 0d 09 09 09 09 09 28 | 67 4d 61 6c 6c 6f 63 4c |,......(|gMallocL|
|000047b0| 69 73 74 43 6f 75 6e 74 | 2b 69 29 20 3e 3e 20 31 |istCount|+i) >> 1|
|000047c0| 29 3b 0d 09 09 09 7d 0d | 09 09 09 69 66 20 28 2a |);....}.|...if (*|
|000047d0| 74 68 65 4d 61 6c 6c 6f | 63 4c 69 73 74 50 74 72 |theMallo|cListPtr|
|000047e0| 20 21 3d 20 4e 55 4c 4c | 29 0d 09 09 09 7b 0d 23 | != NULL|)....{.#|
|000047f0| 69 66 20 4d 41 4c 4c 4f | 43 5f 54 52 41 43 45 0d |if MALLO|C_TRACE.|
|00004800| 09 09 09 09 63 68 61 72 | 09 2a 20 70 3b 0d 09 09 |....char|.* p;...|
|00004810| 09 09 70 20 3d 20 28 63 | 68 61 72 2a 29 28 28 6c |..p = (c|har*)((l|
|00004820| 6f 6e 67 29 2a 74 68 65 | 4d 61 6c 6c 6f 63 4c 69 |ong)*the|MallocLi|
|00004830| 73 74 50 74 72 29 2d 33 | 32 4c 3b 0d 09 09 09 09 |stPtr)-3|2L;.....|
|00004840| 66 70 72 69 6e 74 66 28 | 6d 74 66 70 2c 20 22 46 |fprintf(|mtfp, "F|
|00004850| 69 6c 65 20 25 73 3b 20 | 6c 69 6e 65 20 25 64 5c |ile %s; |line %d\|
|00004860| 6e 22 2c 20 70 2b 32 2c | 20 2a 28 73 68 6f 72 74 |n", p+2,| *(short|
|00004870| 2a 29 70 29 3b 0d 23 65 | 6e 64 69 66 20 2f 2f 20 |*)p);.#e|ndif // |
|00004880| 4d 41 4c 4c 4f 43 5f 54 | 52 41 43 45 0d 23 69 66 |MALLOC_T|RACE.#if|
|00004890| 20 55 53 45 5f 4d 45 4d | 48 41 4e 44 4c 45 53 0d | USE_MEM|HANDLES.|
|000048a0| 09 09 09 09 2f 2f 20 41 | 20 74 72 75 65 20 68 61 |....// A| true ha|
|000048b0| 6e 64 6c 65 20 69 73 20 | 73 74 6f 72 65 64 20 74 |ndle is |stored t|
|000048c0| 68 65 72 65 2c 20 64 6f | 6e 27 74 20 6d 65 73 73 |here, do|n't mess|
|000048d0| 20 61 72 6f 75 6e 64 2c | 20 64 69 73 70 6f 73 65 | around,| dispose|
|000048e0| 20 69 74 21 0d 09 09 09 | 09 44 69 73 70 6f 73 65 | it!....|.Dispose|
|000048f0| 48 61 6e 64 6c 65 28 28 | 48 61 6e 64 6c 65 29 2a |Handle((|Handle)*|
|00004900| 74 68 65 4d 61 6c 6c 6f | 63 4c 69 73 74 50 74 72 |theMallo|cListPtr|
|00004910| 29 3b 0d 23 65 6c 73 65 | 0d 09 09 09 09 50 4f 56 |);.#else|.....POV|
|00004920| 5f 66 72 65 65 28 2a 74 | 68 65 4d 61 6c 6c 6f 63 |_free(*t|heMalloc|
|00004930| 4c 69 73 74 50 74 72 29 | 3b 0d 23 65 6e 64 69 66 |ListPtr)|;.#endif|
|00004940| 20 2f 2f 20 55 53 45 5f | 4d 45 4d 48 41 4e 44 4c | // USE_|MEMHANDL|
|00004950| 45 53 0d 09 09 09 7d 0d | 09 09 7d 0d 0d 23 69 66 |ES....}.|..}..#if|
|00004960| 20 4d 41 4c 4c 4f 43 5f | 54 52 41 43 45 0d 09 69 | MALLOC_|TRACE..i|
|00004970| 66 20 28 6d 74 66 70 29 | 20 66 63 6c 6f 73 65 28 |f (mtfp)| fclose(|
|00004980| 6d 74 66 70 29 3b 0d 23 | 65 6e 64 69 66 20 2f 2f |mtfp);.#|endif //|
|00004990| 20 4d 41 4c 4c 4f 43 5f | 54 52 41 43 45 0d 0d 09 | MALLOC_|TRACE...|
|000049a0| 09 69 66 20 28 42 65 56 | 65 72 62 6f 73 65 29 0d |.if (BeV|erbose).|
|000049b0| 09 09 7b 0d 09 09 09 70 | 72 69 6e 74 66 28 22 2d |..{....p|rintf("-|
|000049c0| 2d 20 47 61 72 62 61 67 | 65 20 43 6f 6c 6c 65 63 |- Garbag|e Collec|
|000049d0| 74 69 6f 6e 20 53 74 61 | 74 69 73 74 69 63 73 3a |tion Sta|tistics:|
|000049e0| 5c 6e 22 29 3b 0d 09 09 | 09 70 72 69 6e 74 66 28 |\n");...|.printf(|
|000049f0| 22 2d 2d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |"-- | |
|00004a00| 20 20 20 20 20 20 20 20 | 6d 61 6c 6c 6f 63 28 29 | |malloc()|
|00004a10| 20 20 20 20 66 72 65 65 | 28 29 5c 6e 22 29 3b 0d | free|()\n");.|
|00004a20| 09 09 09 70 72 69 6e 74 | 66 28 22 2d 2d 20 20 20 |...print|f("-- |
|00004a30| 20 4d 61 78 20 74 72 61 | 63 6b 61 62 6c 65 3a 20 | Max tra|ckable: |
|00004a40| 20 20 25 38 6c 64 20 20 | 25 38 6c 64 5c 6e 22 2c | %8ld |%8ld\n",|
|00004a50| 20 67 4d 61 6c 6c 6f 63 | 4c 69 73 74 53 69 7a 65 | gMalloc|ListSize|
|00004a60| 2c 20 67 4d 61 6c 6c 6f | 63 4c 69 73 74 53 69 7a |, gMallo|cListSiz|
|00004a70| 65 29 3b 0d 09 09 09 70 | 72 69 6e 74 66 28 22 2d |e);....p|rintf("-|
|00004a80| 2d 20 20 20 20 54 6f 74 | 61 6c 20 74 72 61 63 6b |- Tot|al track|
|00004a90| 65 64 3a 20 20 20 25 38 | 6c 64 20 20 25 38 6c 64 |ed: %8|ld %8ld|
|00004aa0| 5c 6e 22 2c 20 67 4d 61 | 6c 6c 6f 63 4c 69 73 74 |\n", gMa|llocList|
|00004ab0| 43 6f 75 6e 74 2c 20 67 | 46 72 65 65 4c 69 73 74 |Count, g|FreeList|
|00004ac0| 43 6f 75 6e 74 29 3b 0d | 09 09 09 69 66 20 28 67 |Count);.|...if (g|
|00004ad0| 45 73 63 61 70 65 64 4d | 61 6c 6c 6f 63 73 43 6f |EscapedM|allocsCo|
|00004ae0| 75 6e 74 20 3e 20 30 29 | 0d 09 09 09 7b 0d 09 09 |unt > 0)|....{...|
|00004af0| 09 09 70 72 69 6e 74 66 | 28 22 23 23 20 45 78 74 |..printf|("## Ext|
|00004b00| 72 61 20 75 6e 74 72 61 | 63 6b 65 64 3a 20 25 38 |ra untra|cked: %8|
|00004b10| 6c 64 20 20 20 20 20 20 | 20 2d 2d 2d 5c 6e 22 2c |ld | ---\n",|
|00004b20| 20 67 45 73 63 61 70 65 | 64 4d 61 6c 6c 6f 63 73 | gEscape|dMallocs|
|00004b30| 43 6f 75 6e 74 29 3b 0d | 09 09 09 09 70 72 69 6e |Count);.|....prin|
|00004b40| 74 66 28 22 23 23 5c 6e | 22 29 3b 0d 09 09 09 09 |tf("##\n|");.....|
|00004b50| 70 72 69 6e 74 66 28 22 | 23 23 20 57 61 72 6e 69 |printf("|## Warni|
|00004b60| 6e 67 2c 20 63 6f 75 6c | 64 6e 27 74 20 74 72 61 |ng, coul|dn't tra|
|00004b70| 63 6b 20 61 6e 64 20 64 | 69 73 70 6f 73 65 20 61 |ck and d|ispose a|
|00004b80| 6c 6c 20 6d 65 6d 6f 72 | 79 20 61 6c 6c 6f 63 61 |ll memor|y alloca|
|00004b90| 74 69 6f 6e 73 2e 5c 6e | 22 29 3b 0d 09 09 09 09 |tions.\n|");.....|
|00004ba0| 70 72 69 6e 74 66 28 22 | 23 23 20 49 6e 63 72 65 |printf("|## Incre|
|00004bb0| 61 73 65 20 74 68 65 20 | 68 65 61 70 20 73 69 7a |ase the |heap siz|
|00004bc0| 65 20 6f 72 20 69 6e 63 | 72 65 61 73 65 20 74 68 |e or inc|rease th|
|00004bd0| 65 20 61 70 70 6c 69 63 | 61 74 69 6f 6e 27 73 20 |e applic|ation's |
|00004be0| 43 4e 46 47 5c 6e 22 29 | 3b 0d 09 09 09 09 70 72 |CNFG\n")|;.....pr|
|00004bf0| 69 6e 74 66 28 22 23 23 | 20 72 65 73 6f 75 72 63 |intf("##| resourc|
|00004c00| 65 20 76 61 6c 75 65 20 | 74 6f 20 68 65 6c 70 20 |e value |to help |
|00004c10| 61 6c 6c 65 76 69 61 74 | 65 20 74 68 69 73 2e 5c |alleviat|e this.\|
|00004c20| 6e 22 29 3b 0d 09 09 09 | 7d 0d 09 09 7d 0d 0d 09 |n");....|}...}...|
|00004c30| 09 2f 2f 20 6f 70 65 6e | 20 73 6f 6d 65 20 68 65 |.// open| some he|
|00004c40| 61 70 20 73 70 61 63 65 | 0d 09 09 28 76 6f 69 64 |ap space|...(void|
|00004c50| 29 43 6f 6d 70 61 63 74 | 4d 65 6d 28 46 72 65 65 |)Compact|Mem(Free|
|00004c60| 4d 65 6d 28 29 29 3b 0d | 09 0d 09 09 2a 67 4d 61 |Mem());.|....*gMa|
|00004c70| 6c 6c 6f 63 4c 69 73 74 | 20 3d 20 4e 55 4c 4c 3b |llocList| = NULL;|
|00004c80| 0d 09 09 67 4d 61 6c 6c | 6f 63 4c 69 73 74 43 6f |...gMall|ocListCo|
|00004c90| 75 6e 74 20 3d 20 30 3b | 0d 09 09 2a 67 46 72 65 |unt = 0;|...*gFre|
|00004ca0| 65 4c 69 73 74 20 3d 20 | 4e 55 4c 4c 3b 0d 09 09 |eList = |NULL;...|
|00004cb0| 67 46 72 65 65 4c 69 73 | 74 43 6f 75 6e 74 20 3d |gFreeLis|tCount =|
|00004cc0| 20 30 3b 0d 09 09 67 45 | 73 63 61 70 65 64 4d 61 | 0;...gE|scapedMa|
|00004cd0| 6c 6c 6f 63 73 43 6f 75 | 6e 74 20 3d 20 30 4c 3b |llocsCou|nt = 0L;|
|00004ce0| 0d 0d 09 09 53 65 74 43 | 75 72 73 6f 72 28 26 71 |....SetC|ursor(&q|
|00004cf0| 64 2e 61 72 72 6f 77 29 | 3b 0d 09 7d 0d 0d 09 2f |d.arrow)|;..}.../|
|00004d00| 2f 20 4c 65 74 20 65 76 | 65 72 79 6f 6e 65 20 28 |/ Let ev|eryone (|
|00004d10| 50 4f 56 5f 46 72 65 65 | 29 20 6b 6e 6f 77 20 77 |POV_Free|) know w|
|00004d20| 65 27 72 65 20 6f 75 74 | 20 6f 66 20 72 65 63 6c |e're out| of recl|
|00004d30| 61 69 6d 69 6e 67 20 6d | 6f 64 65 0d 09 67 52 65 |aiming m|ode..gRe|
|00004d40| 63 6c 61 69 6d 69 6e 67 | 20 3d 20 66 61 6c 73 65 |claiming| = false|
|00004d50| 3b 0d 0d 7d 20 2f 2f 20 | 50 4f 56 5f 72 65 63 6c |;..} // |POV_recl|
|00004d60| 61 69 6d 0d 00 00 00 00 | 00 00 00 00 00 00 00 00 |aim.....|........|
|00004d70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004d80| 00 00 01 00 00 00 02 86 | 00 00 01 86 00 00 00 72 |........|.......r|
|00004d90| 34 6b 01 00 fc 32 38 12 | 66 1e 48 78 40 9a 12 4e |4k...28.|f.Hx@..N|
|00004da0| ad 10 f2 86 01 31 e4 3c | 47 34 01 60 66 32 39 46 |.....1.<|G4.`f29F|
|00004db0| 0b 50 4f 56 4d 61 6c 6c | 6f 63 2e 63 02 00 00 00 |.POVMall|oc.c....|
|00004dc0| 54 45 58 54 4d 50 53 20 | 01 02 ff ff ff ff 00 00 |TEXTMPS |........|
|00004dd0| 00 00 54 45 58 54 4d 50 | 53 20 01 02 ff ff ff ff |..TEXTMP|S ......|
|00004de0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004df0| 00 00 a7 0c ec d2 00 00 | 4c e4 00 00 02 f8 b2 ef |........|L.......|
|00004e00| 67 01 67 3c 32 02 63 64 | 65 76 33 01 67 30 d4 30 |g.g<2.cd|ev3.g0.0|
|00004e10| a0 b9 01 d0 bc 4b 01 31 | dd 12 2f 00 48 6e 3b 55 |.....K.1|../.Hn;U|
|00004e20| 01 10 2e 30 11 4a 80 6d | 01 67 18 3c 50 01 1e 1a |...0.J.m|.g.<P...|
|00004e30| 67 01 60 0c 5a 4f 48 01 | 0f ca 6d 73 02 18 e0 fd |g.`.ZOH.|..ms....|
|00004e40| dc 29 01 ff c6 5c 9b 01 | 3e 2e 7b 8c 4d 76 93 31 |.)...\..|>.{.Mv.1|
|00004e50| 76 6c 31 a0 90 25 01 00 | a4 26 9d 6d 80 01 00 8e |vl1..%..|.&.m....|
|00004e60| 57 01 ff c6 50 12 02 02 | 4a 80 67 01 67 66 55 56 |W...P...|J.g.gfUV|
|00004e70| 56 15 72 01 2f 01 2f 0c | 4e ad 35 72 01 1d 7c 66 |V.r././.|N.5r..|f|
|00004e80| 00 00 00 08 00 43 00 31 | 01 da 02 4a 00 00 00 1e |.....C.1|...J....|
|00004e90| 00 00 40 45 02 57 00 00 | 00 00 00 00 45 c9 02 87 |..@E.W..|....E...|
|00004ea0| 00 00 00 00 00 00 49 06 | 02 a5 00 00 00 00 00 00 |......I.|........|
|00004eb0| 00 48 00 09 4d 6f 6e 61 | 63 6f 00 00 01 00 00 cf |.H..Mona|co......|
|00004ec0| 36 04 20 00 00 ce 00 ce | 90 7a 00 cf 39 c4 20 20 |6. .....|.z..9. |
|00004ed0| 00 00 00 cf 00 06 00 04 | 00 2b 00 04 01 bb 01 e4 |........|.+......|
|00004ee0| 00 2b 00 04 01 bb 01 e4 | a9 78 47 59 00 00 34 4d |.+......|.xGY..4M|
|00004ef0| 00 00 34 5e 00 00 2a 51 | 01 00 00 00 00 e6 00 09 |..4^..*Q|........|
|00004f00| 00 00 12 75 00 00 12 89 | 15 41 6c 6c 6f 63 61 74 |...u....|.Allocat|
|00004f10| 65 53 61 66 65 74 79 42 | 75 66 66 65 72 00 00 00 |eSafetyB|uffer...|
|00004f20| 18 b2 00 00 18 c0 0f 48 | 61 6e 64 6c 65 4f 75 74 |.......H|andleOut|
|00004f30| 4f 66 4d 65 6d 00 00 00 | 17 fb 00 00 18 11 17 50 |OfMem...|.......P|
|00004f40| 4f 56 5f 65 6e 61 62 6c | 65 5f 6d 65 6d 74 72 61 |OV_enabl|e_memtra|
|00004f50| 63 6b 69 6e 67 00 00 00 | 34 ae 00 00 34 b6 09 50 |cking...|4...4..P|
|00004f60| 4f 56 5f 66 72 65 65 00 | 00 00 14 58 00 00 14 6c |OV_free.|...X...l|
|00004f70| 15 50 4f 56 5f 69 6e 69 | 74 5f 6d 65 6d 74 72 61 |.POV_ini|t_memtra|
|00004f80| 63 6b 69 6e 67 00 00 00 | 3c 24 00 00 3c 37 13 50 |cking...|<$..<7.P|
|00004f90| 4f 56 5f 6e 65 65 64 5f | 74 6f 5f 72 65 63 6c 61 |OV_need_|to_recla|
|00004fa0| 69 6d 00 00 2a a0 00 00 | 2a ab 0b 50 4f 56 5f 72 |im..*...|*..POV_r|
|00004fb0| 65 61 6c 6c 6f 63 00 00 | 3c c9 00 00 3c d4 0b 50 |ealloc..|<...<..P|
|00004fc0| 4f 56 5f 72 65 63 6c 61 | 69 6d 00 00 13 81 00 00 |OV_recla|im......|
|00004fd0| 13 92 11 50 75 72 67 65 | 53 61 66 65 74 79 42 75 |...Purge|SafetyBu|
|00004fe0| 66 66 65 72 00 00 00 1e | 00 2b 00 04 01 bb 01 e4 |ffer....|.+......|
|00004ff0| 00 2b 00 04 01 bb 01 e4 | 00 00 2a 51 00 00 00 00 |.+......|..*Q....|
|00005000| 00 00 00 00 00 00 00 00 | 01 00 00 00 02 86 00 00 |........|........|
|00005010| 01 86 00 00 00 72 00 dc | a5 ec 17 82 00 00 00 1c |.....r..|........|
|00005020| 00 72 00 02 4d 50 53 52 | 00 02 00 1a 52 45 43 54 |.r..MPSR|....RECT|
|00005030| 00 00 00 3e 42 4b 50 54 | 00 00 00 4a 03 ed ff ff |...>BKPT|...J....|
|00005040| 00 00 00 2e 00 00 00 00 | 03 ef ff ff 00 00 00 7a |........|.......z|
|00005050| 00 00 00 00 03 f0 ff ff | 00 00 01 64 00 de fb 50 |........|...d...P|
|00005060| 00 00 ff ff 00 00 00 00 | 00 00 00 00 1a 1f ff ff |........|........|
|00005070| 00 00 00 0c 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+